<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ColorTextBox</name>
    </assembly>
    <members>
        <member name="T:ColorTextBoxControl.RenderMode">
            <summary>
            Determines the mode used for rendering the text on the screen
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.RenderMode.GDIPlus">
            <summary>
            Uses native .Net 2.0 code to render the lines (Graphics.DrawString)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.RenderMode.GDI">
            <summary>
            Uses .Net 2.0 wrapper classes to access the GDI32 library (TextRenderer)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.RenderMode.GDINative">
            <summary>
            Uses only native GDI32 libraries for rendering
            NOTE: This RenderMode setting is for testing purposes only and does currently NOT work!
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBoxBase`3">
            <summary>
            A ColorTextBox represents a user control for editing text similar to a TextBox or RichTextBox. The main
            difference to the mentioned controls is the way in which a ColorTextBox stores the text internally.
            Text is stored directly inside a linked list of lines which consist of a linked list of tokens themselves.
            Each token contains the value of the part of the line it refers to and can be extended to contain many
            more properties to describe the respective part of the line (the abstract default implementation
            TokenBase contains fields for value, color, rendering height and width).
            </summary>
            <typeparam name="TLine">A concrete implementation of the abstract base class LineBase.</typeparam>
            <typeparam name="TToken">A concrete implementation of the abstract base class TokenBase.</typeparam>
            <typeparam name="TDocument">A concrete implementation of the abstract base class DocumentBase.</typeparam>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBoxBase`3.ReservedLocation">
            <summary>
            Determines the position of a reserved area inside the client area
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBoxBase`3.DrawMode">
            <summary>
            Enumeration which determines which parts should be redrawn when calling the drawLines(...) method.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBoxBase`3.ReservedArea">
            <summary>
            Represents an area at one of the edges of the Control on which no text rendering is allowed.
            Instead a draw method and a mouse event handler method can be supplied that allow
            for user defined drawing and event handling in the specified area.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ReservedArea.#ctor(System.String,System.Int32,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedArea.DrawArea,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedArea.HandleMouseEvent,System.Windows.Forms.Cursor)">
            <summary>
            Constructor for a new reserved area with the provided parameters set.
            </summary>
            <param name="id">A unique ID for the area at the given location</param>
            <param name="width">Width of the reserved area (corresponds to the height for areas
            added to the top or bottom of a ColorTextBox)</param>
            <param name="drawMeth">Delegate to be called when area needs to be redrawn.</param>
            <param name="eventMeth">Event handling delegate for mouse events occuring inside the area.</param>
            <param name="hoverCursor">Cursor to show when mouse is being hovered over the area.</param>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultBackColor">
            <summary>
            The default background color of a ColorTextBox.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultForeColor">
            <summary>
            The default forecolor (= text color) of a ColorTextBox.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultSelectionBackColor">
            <summary>
            The default background color of a selection.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultSelectionColor">
            <summary>
            The default text color of a selection.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultMarginColor">
            <summary>
            The default color of additional margins around the TextArea of ColorTextBox.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultCaretColor">
            <summary>
            The default color of the caret.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultCaretInfoBackColor">
            <summary>
            The default background color of the caret position info area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultCaretInfoForeColor">
            <summary>
            The default foreground (= text color) of the caret position info area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultLineNumberBackColor">
            <summary>
            The default background color of the line number area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultLineNumberForeColor">
            <summary>
            The default foreground (= text color) of the line number area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultCaretInfoFont">
            <summary>
            The default font of the caret position info area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultFont">
            <summary>
            The default font of the ColorTextBox.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxBase`3.DefaultLineNumberFont">
            <summary>
            The default font of the line number area.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.#ctor">
            <summary>
            Parameterless default constructor.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Finalize">
            <summary>
            Destructor for a ColorTextBox that disposes all resources in use.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.initNewContent">
            <summary>
            Called from the set methods for the content of the ColorTextBox. Initializes all fields and data
            structures necessary for drawing.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Pos(System.Int32,System.Int32)">
            <summary>
            Gets the line position nearest to the given x and y coordinates. If there are currently no visible
            lines the method returns null. This implementation calculates the line position based on the font
            set for the ColorTextBox control - override if you want to use token-based fonts.
            </summary>
            <param name="x">X position.</param>
            <param name="y">Y position.</param>
            <returns>The Position nearest to the given coordinates. Null if there are no visible lines.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.calcPosInToken(System.Drawing.Graphics,System.Int32,`2,ColorTextBoxControl.Position{`1,`2}@)">
            <summary>
            Helper method that searches for the exact line and X position inside a given token. Uses
            a divide-and-conquer approach (binary search) so large tokens can be searched fast as well.
            </summary>
            <param name="g">Graphics object</param>
            <param name="x">X position to search for.</param>
            <param name="t">Token containing the position to search for.</param>
            <param name="pos">Reference to the search position - has to be set to the start position of
            the provided token!</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Pos(System.Int32,`1)">
            <summary>
            Gets the line position for the given char position inside the given line. If the passed line is
            null this method returns null as well. For tpos less than 0 or bigger than line.Length the method
            returns the corresponding position inside a previous or following line - if such a line doesn't exist 
            the position will be set to tpos = 0 or tpos = line.Length respectively.
            The method treats newline strings as a single character independent of the real length.
            This implementation calculates the line position based on the font set for the ColorTextBox 
            control - override if you want to use token-based fonts.
            </summary>
            <param name="tpos">Character position inside the line.</param>
            <param name="line">Line containing the returned Position.</param>
            <returns>The Position of the given tpos inside line. Null if line is null.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.invalidatePositions">
            <summary>
            This helper method sets the IsValid flag of each position (caret, selection) to false.
            This causes the X coordinates to be recalculated the next time any of these positions will be 
            rendered.
            Useful when changes to the left or right reserved areas are being made.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.setCaret(ColorTextBoxControl.Position{`1,`2})">
            <summary>
            Sets the caret to the given position. If the given position is out of the horizontal or vertical
            viewing range the view will be scrolled so that the caret is visible.
            </summary>
            <param name="pos">New caret position.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.removeCaret">
            <summary>
            This method removes the caret by setting it to null and stops the caret timer. If there is a caret 
            visible this method first removes the caret.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.caretTimer_Tick(System.Object,System.EventArgs)">
            <summary>
            Event handler method for the caret blink timer. Calls invertCaret() at the specified timer
            interval to draw or delete the caret at the given position.
            </summary>
            <param name="sender">Sender of the event.</param>
            <param name="e">EventArgs associated to the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.moveCaretLeft(System.Boolean)">
            <summary>
            Moves the caret one position to the left.
            <param name="select">Indicates if the char should be selected when moving the caret left.</param>
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.moveCaretRight(System.Boolean)">
            <summary>
            Moves the caret one position to the right.
            <param name="select">Indicates if the char should be selected when moving the caret right.</param>
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.moveCaretUp(System.Boolean)">
            <summary>
            Moves the caret one line up.
            <param name="select">Indicates if the line should be selected when moving the caret up.</param>
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.moveCaretDown(System.Boolean)">
            <summary>
            Moves the caret one line down.
            <param name="select">Indicates if the line should be selected when moving the caret down.</param>
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.setSelection(ColorTextBoxControl.Position{`1,`2},ColorTextBoxControl.Position{`1,`2})">
            <summary>
            Sets the selection to the text between the given from and to positions and draws it. This method
            removes any selection or caret that's currently active. If the passed positions are equal the caret
            will be set at the given position.
            </summary>
            <param name="anchor">The anchor position of the new selection.</param>
            <param name="toPos">The second position determining the selection.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.updateSelection(ColorTextBoxControl.Position{`1,`2})">
            <summary>
            This method is to be called when a currently active selection changes it's size. The parameter newPos
            is the start or end position of the selection relative to the selectionAnchor field (which must be 
            non-null for a valid active selection, as well as the selection field). This method causes the part of
            the selection which has changed to be redrawn in order to reflect the changes! Furthermore this method
            sets the caret to the new position!
            </summary>
            <param name="newPos">The new selection end point relative to the selectionAnchor position.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.removeSelection">
            <summary>
            Removes the current selection (if there is any) by calling drawContent and sets
            the global selection field to null.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.selectLines(`1,`1)">
            <summary>
            Sets the IsSelected property of the lines between from and to to true.
            </summary>
            <param name="from">first line to select</param>
            <param name="to">last line to select</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.deselectLines(`1,`1)">
            <summary>
            Sets the IsSelected property of the lines between from and to to false.
            </summary>
            <param name="from">first line to deselect</param>
            <param name="to">last line to deselect</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollToLine(`1)">
            <summary>
            Sets the firstVisLine reference to the passed line and then calculates the positions of all followers
            and redraws them.
            NOTE: This method will in most cases be much slower than the overloaded implementation which takes a
            line index as parameter as this method always searches for the given line beginning at the first line in
            the document!
            </summary>
            <param name="l">Line to set as new first visible line.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollToLine(System.Int32)">
            <summary>
            Sets the firstVisLine reference to the line at the given index and then calculates the positions of all 
            followers and redraws them.
            NOTE: This method should in most cases perform much better than it's counterpart which takes a line 
            reference as parameter as this method determines the line to scroll to relative to the current first
            visible line or the document's first or last line (whichever is closest to the given index!)
            </summary>
            <param name="index">Index of the line to scroll to.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollUp(System.Int32)">
            <summary>
            This method scrolls up the given amount of lines (or less - depending on how much scrolling is possible)
            and calls the OnScroll() method with the appropriate parameters to allow subclasses to handle scroll events.
            </summary>
            <param name="lines">The desired amount of lines to scroll up.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollDown(System.Int32)">
            <summary>
            This method scrolls down the given amount of lines (or less - depending on how much scrolling is possible)
            and calls the OnScroll() method with the appropriate parameters to allow subclasses to handle scroll events.
            </summary>
            <param name="lines">The desired amount of lines to scroll down.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollRight(System.Int32)">
            <summary>
            Scrolls the given amount of pixels to the right and calls the OnScroll() method with the appropriate 
            parameters to allow subclasses to handle scroll events.
            </summary>
            <param name="width">Amount of pixels to scroll to the right.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.scrollLeft(System.Int32)">
            <summary>
            Scrolls the given amount of pixels to the left and calls the OnScroll() method with the appropriate 
            parameters to allow subclasses to handle scroll events.
            </summary>
            <param name="width">Amount of pixels to scroll to the left.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.notifyScrollEvent(System.Windows.Forms.ScrollOrientation,System.Int32,System.Int32)">
            <summary>
            This helper method is to be called from the scroll{Up|Down|Left|Right} methods to allow handling of scroll
            events through the OnScroll() method.
            </summary>
            <param name="o">ScrollBar orientation.</param>
            <param name="oldVal">The old scrollbar value.</param>
            <param name="newVal">The new scrollbar value.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.HScroll_Scroll(System.Object,System.Windows.Forms.ScrollEventArgs)">
            <summary>
            Event handler method for horizontal scroll events. Occurs when user moves slider.
            </summary>
            <param name="sender">Origin of the scroll event.</param>
            <param name="e">ScrollEventArgs object.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.VScroll_Scroll(System.Object,System.Windows.Forms.ScrollEventArgs)">
            <summary>
            Event handler method for vertical scroll events. Occurs when user moves slider.
            </summary>
            <param name="sender">Origin of the scroll event.</param>
            <param name="e">ScrollEventArgs object.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ScrollBar_VisibleChanged(System.Object,System.EventArgs)">
            <summary>
            Event handler method for changes to the visibility status of the Scrollbars. Redraws
            the ClientArea if necessary.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.calcLinePositions(System.Boolean,System.Boolean)">
            <summary>
            This method simply calculates the positions of all visible lines starting with the line to which the
            firstVisLine reference is currently set. The start position of the firstVisLine will be set to the 
            position of the upper left corner of the TextArea and all following lines will be calculated relative
            to that position. The method also sets the visibility flag of all calculated lines to true and updates
            the lastVisLine reference.
            The redraw flag indicates if the control should be redrawn after the calculation whereas this method also
            causes all registered reserved areas to be redrawn - if only the calculated lines are to be redrawn use 
            the calcLinePosFrom method with the appropriate parameters.
            </summary>
            <param name="redraw">Determines if all lines should be drawn after calculation.</param>
            <param name="paint">When redraw is set to true this flag determines if the drawn lines should be 
            immediately rendered to the screen - otherwise it has no effect.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.calcLinePosFrom(`1,System.Boolean,System.Boolean)">
            <summary>
            This method calculates the line positions of all visible lines beginning at the given line down to the 
            last visible line in the text box and the lastVisLine reference will be set accordingly.
            The position of the start line has to be set beforehand as it acts as the baseline for the calculation
            of all following lines.
            The redraw flag indicates if the calculated lines should be redrawn - in contrast to calcLinePositions
            this method never causes any reserved areas to be redrawn!
            </summary>
            <param name="from">Line at which to start calculation (provides base coordinates for calculation)</param>
            <param name="redraw">Determines if the calculated lines should be redrawn.</param>
            <param name="paint">When redraw is set to true this flag determines if the drawn changes should be
            immediately rendered to the screen - otherwise it has no effect!</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.calcLine(`1,System.Drawing.Graphics)">
            <summary>
            Calculates the width and height of a line by traversing through all contained tokens for the
            given Graphics object. This method sets the Modified flag of the line to false. 
            Uses the ColorTextBox's default Font for calculating line metrics. 
            Override this method if you want to use different fonts for each line token!
            </summary>
            <param name="l">Line for which to calculate the described parameters.</param>
            <param name="g">Graphics object on which to render the line.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.calcBaseDistance(System.Drawing.Font)">
            <summary>
            Calculates the distance of the base line from the line start for the given font.
            </summary>
            <param name="f">Font to use for calculation.</param>
            <returns>Rounded distance of baseline from line start in pixel.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.setLinesInvisible(System.Int32,System.Int32)">
            <summary>
            Sets the visibility flag of all lines between the given points to false. Must be called before
            the currently visible lines are changed (insertion of lines, scrolling, ...)
            </summary>
            <param name="fromY">Y coordinate of the first line to set to invisible.</param>
            <param name="toY">Y coordinate of the last line to set to invisible</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.setLinesInvisible(`1,`1)">
            <summary>
            Sets the visibility flag for all lines between from and to (including from and to) to false. Must
            be called before the currently visible lines are changed (insertion, scrolling, ...)
            </summary>
            <param name="from">First line to set to invisible</param>
            <param name="to">Last line to set to invisible.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.convertToRtf(`1)">
            <summary>
            Helper method which converts the given line list to an RTF string. The default implementation
            uses a RichTextBox for the conversion. It sets the font of the returned RTF string to the 
            globally used ColorTextBox font and only uses each token's color information for the conversion!
            (Override to use different token font styles, sizes, ...)
            </summary>
            <param name="l">The line to convert to RTF.</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.convertFromRtf(System.String)">
            <summary>
            Helper method which converts the provided formatted RTF string to a line list.
            </summary>
            <param name="rtf">An RTF formatted string.</param>
            <returns>A line list representing the provided RTF string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.changeSelectionIndent(System.Int32)">
            <summary>
            This helper method is used for changing the indentation level of selected lines (by pressing TAB
            or SHIFT+TAB when there is a selection visible) by the given amount. If amount is a positive integer
            amount tab characters will be inserted at the beginning of each selected line. If amount is a 
            negative integer a maximum of amount tab characters will be removed from the beginning of each 
            selected line. Note: this method does not check if there currently exists a selection - this must be
            done prior to calling this method!
            </summary>
            <param name="amount">Number of tab chars to add to or remove from the beginning of selected lines.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.insertChar(System.Char)">
            <summary>
            If there is a valid caret this method inserts the given character at the caret position and updates the
            TextArea. If there is currently text selected it will be replaced by the character!
            </summary>
            <param name="c">Character to insert.</param> 
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.deleteAfterCaret(System.Int32)">
            <summary>
            Deletes num chars after the caret position starting with the char at the current caret position.
            Linefeeds are treated as a single character.
            </summary>
            <param name="num">Number of characters to delete.</param>
            <returns>The actual number of characters that have been deleted.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.deleteSelection">
            <summary>
            Deletes a selected text if there is an active selection.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleUpdateEvent(System.Object,ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            Handles update events from the document contained in the ColorTextBox. Triggers redrawing of the
            Control after a change by calling the appropriate drawOn{UpdateType} method and adds the changes 
            from the UpdateEventArgs to the Undo or Redo buffer.
            </summary>
            <param name="source">Source of the UpdateEvent.</param>
            <param name="args">UpdateEventArgs of this UpdateEvent.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getVisibleBounds(ColorTextBoxControl.Position{`1,`2},ColorTextBoxControl.Position{`1,`2})">
            <summary>
            This helper method can be used to calculate the visible bounding rectangle between two positions. The 
            width of the returned rectangle will always be set to TextArea.Width!
            If no part of the area between fromP and toP is currently visible the method returns Rectangle.Empty!
            </summary>
            <param name="fromP">Start position.</param>
            <param name="toP">End position.</param>
            <returns>The visible portion of the rectangle surrounding the two positions.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getVisibleSelection(ColorTextBoxControl.Position{`1,`2},ColorTextBoxControl.Position{`1,`2})">
            <summary>
            Returns the visible part of a selection defined by the two passed positions or null if such a part 
            doesn't exist!
            </summary>
            <param name="fromP">Start position of a selection.</param>
            <param name="toP">End position of a selection.</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getPaddingRegion">
            <summary>
            Calculates a Region object for the area occupied by additional paddings.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.addResArea(System.String,System.Int32,System.Int32,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedArea.DrawArea,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedArea.HandleMouseEvent,System.Windows.Forms.Cursor)">
            <summary>
            Adds the given width to the list of reserved areas on which no line drawing is permitted.
            The caller has to supply a unique name for the area at this location and an index at which the
            area should be added, as well as a drawing method that is responsible for drawing the specified
            area.
            </summary>
            <param name="id">A unique identifier string for the reserved area - can be used by the caller
            to retrieve the reserved area later on.</param>
            <param name="index">The preferred index at which to add the area - if the index is bigger than the
            actual number of contained areas, the area will be added to the last position!</param>
            <param name="width">Reserved width in pixel.</param>
            <param name="loc">Location to add the reserved area.</param>
            <param name="drawMeth">Method responsible for drawing this area.</param>
            <param name="eventMeth">Method responsible for handling mouse events in this area. May be null if
            the area should not react on mouse events.</param>
            <param name="hoverCursor">A cursor to be displayed when the mouse enters the reserved area.
            May be null in which case an arrow will be displayed.</param>
            <returns>True if the defined area was successfully added. False if the area could not be added
            (Name already defined, invalid width definition, no draw method supplied, invalid index)</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.containsResArea(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Checks if an area of the given id is already contained at the given location.
            </summary>
            <param name="loc">Reserved location to search in.</param>
            <param name="id">Id string to search for.</param>
            <returns>True if the given location contains an area of the given id.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.removeResArea(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Removes the reserved area with the given id from the list of reserved areas at the given location.
            </summary>
            <param name="loc">Location of the reserved area to remove.</param>
            <param name="id">Id of the reserved area to remove.</param>
            <returns>True if area was successfully removed. False if area doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getResArea(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Helper method that returns the reserved area with the given id at the given location if it exists.
            </summary>
            <param name="loc">Reserved location to search in.</param>
            <param name="id">Id of reserved area to search for.</param>
            <returns>The reserved area at the specified location or null if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getResLength(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Gets the width of the reserved area with the given name.
            </summary>
            <param name="loc">Location of the reserved area.</param>
            <param name="id">Id of the reserved area.</param>
            <returns>Width of reserved area with the given id or -1 if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getResRegion(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Returns the Region that is occupied by the given reserved area. If the given region does not exist the
            method returns null. This method can be used to determine the region of an area for redrawing.
            </summary>
            <param name="loc">Location of the reserved area.</param>
            <param name="id">Id string of the reserved area.</param>
            <returns>The region occupied by the reserved area or null if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.changeResLength(System.Int32,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String)">
            <summary>
            Changes the width of the reserved area with the given id at the given location and redraws the 
            whole client area to reflect the changes. Returns false if the reserved area at the given location
            doesn't exist.
            </summary>
            <param name="newLength">New length (width or height) of the reserved area.</param>
            <param name="loc">Location of the reserved area.</param>
            <param name="id">Name of the reserved area.</param>
            <returns>True on success. False if the area doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.SuspendPainting">
            <summary>
            Suspends all further painting to the screen. After calling this method all changes to the documents data
            will not be drawn (neither to the background buffer nor to the screen!)
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ResumePainting(System.Boolean)">
            <summary>
            Resumes painting to the screen and optionally draws all pending changes immediately.
            </summary>
            <param name="paintPending">When true all pending changes are painted immediately</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Undo">
            <summary>
            Tries to undo the last operation in the undo buffer and moves it to the redo buffer.
            Override when implementing own UpdateEventArgs!
            </summary>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ClearUndo">
            <summary>
            Removes all available undo operations from the undo buffer.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Redo">
            <summary>
            Tries to redo the last undo operation in the redo buffer and adds it to the undo buffer again.
            Override when implementing own UpdateEventArgs!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Copy">
            <summary>
            Copies the currently selected text to the platforms' clipboard. Returns true on success or false
            if there isn't a valid selection to copy. This implementation places the selected text in the
            following data formats into the clipboard:
            ColorTextBoxFormat, StringFormat, UnicodeText and Rtf.
            </summary>
            <returns>True on success. False if there is no selection.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Paste">
            <summary>
            Tries to insert text from the system clipboard into the document at the current caret position.
            If there is currently some text selected it will be deleted prior to insertion.
            This method searches the clipboard for the following text formats and inserts the first one 
            encountered: ColorTextBoxFormat, StringFormat, UnicodeText and Text.
            </summary>
            <returns>True on success. False if there is no suitable data found in the clipboard.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.CanPaste(System.String)">
            <summary>
            Returns a boolean value indicating if text of the given format can be inserted into the
            ColorTextBox.
            </summary>
            <param name="format">Format to check.</param>
            <returns>True if content of the given format can be inserted.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Cut">
            <summary>
            Moves the currently selected text to the clipboard. Returns true on success or false if there
            isn't a valid selection to cut. This implementation places the selected text in the following
            data formats into the clipboard:
            ColorTextBoxFormat, StringFormat, UnicodeText and Rtf.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Clear">
            <summary>
            Deletes all text contained in the ColorTextBox.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.AppendText(System.String)">
            <summary>
            Appends the given string to the end of the ColorTextBox. Use this method instead of appending 
            text to the Text property with the "+" operator!
            </summary>
            <param name="text"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Insert(System.String)">
            <summary>
            Inserts the given text at the current caret position. If there exists a selection the selected
            text will be replaced with the given string.
            If there is neither a caret nor a selection no changes will be made.
            </summary>
            <param name="text">The text to insert into the text box.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Insert(`1)">
            <summary>
            Inserts the given line (list) at the current caret position. If there exists a selection the
            selected text will be replaced with the given line content.
            If there is neither a caret nor a selection no changes will be made.
            NOTE: The current implementation does not check the inserted lines for validity, so it is possible
            to insert invalid lines (lines without or with multiple newline tokens!)
            </summary>
            <param name="lines">Lines to insert into the text box.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Insert(`2)">
            <summary>
            Inserts the given token (list) at the current caret position. If there exists a selection the
            selected text will be replaced with the given line content.
            If there is neither a caret nor a selection no changes will be made.
            NOTE: The inserted token list will be clipped at the first occurence of a newline token.
            </summary>
            <param name="tokens">Tokens to insert into the text box.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.RemoveCaret">
            <summary>
            Removes the caret if there currently is any.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Delete(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition)">
            <summary>
            Deletes the text contained between the given positions.
            </summary>
            <param name="from">Start position of deletion.</param>
            <param name="to">End position of deletion.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Delete(ColorTextBoxControl.IPosition,System.Int32)">
            <summary>
            Deletes the given amount of characters. Passing a negative length as parameter will try
            to delete backwards.
            </summary>
            <param name="start">Start position of deletion.</param>
            <param name="length">Number of chars to delete.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Replace(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,System.String)">
            <summary>
            Replaces the text between the given positions with the given string.
            </summary>
            <param name="from">Start position of replacing.</param>
            <param name="to">End position of replacing.</param>
            <param name="text">String to replace with.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ScrollToCaret">
            <summary>
            Ensures that the line containing the current caret position is visible.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ScrollToLine(System.Int32)">
            <summary>
            Scrolls to the line at the given index if it is currently not visible
            </summary>
            <param name="index">Index of the line to scroll to</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.ScrollToLine(ColorTextBoxControl.ILine)">
            <summary>
            Scrolls to the given line if it is currently not visible
            </summary>
            <param name="line">Line to scroll to</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Select(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition)">
            <summary>
            Selects the text between the given positions.
            </summary>
            <param name="from">Start position of the text to select.</param>
            <param name="to">End position of the text to select.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Select(ColorTextBoxControl.IPosition,System.Int32)">
            <summary>
            Selects the given amount of postions following the given start position.
            </summary>
            <param name="start">Start position of the text to select.</param>
            <param name="length">Number of positions to select.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.SelectAll">
            <summary>
            Selects all text in the text box. 
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.SetColor(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,System.Drawing.Color)">
            <summary>
            Sets the color of the text between the two provided positions.
            </summary>
            <param name="start">Start position for the color change.</param>
            <param name="end">End position for the color change.</param>
            <param name="color">New text color.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.DeselectAll">
            <summary>
            Ensures that no text is selected.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Search(System.String)">
            <summary>
            Searches the text in a ColorTextBox control for a string.
            NOTE: Since this method doesn't define a start or end point for searching it will always search from
            the document start down to the document end position returning the first encountered string position.
            </summary>
            <param name="search">String to search for.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Search(System.String,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string with specific options applied to the search.
            NOTE: Since this method doesn't define a start or end point for searching it will always search from 
            the first down to the last document position or vice versa, depending on the Reverse flag in the 
            ColorTextBoxFinds enumeration.
            </summary>
            <param name="search">The string to search for</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Search(System.String,ColorTextBoxControl.IPosition,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string at a specific location within the control 
            and with specific options applied to the search.
            NOTE: Since this method doesn't define an end point for the search this method will always search from
            the passed start position down to the last document position or up to the first one depending on the 
            Reverse flag in the ColorTextBoxFinds enumeration.
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">The location within the control's text at which to begin searching.</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.Search(System.String,ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a given string between the given positions.
            NOTE: If the Reverse flag in the ColorTextBoxFinds enumeration is set to false the text will be searched
            beginning at "start" down to "end", otherwise the search will begin at "end" going up to "start".
            So it is important that the end position is always contained after the start position!
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">Start position of search.</param>
            <param name="end">End position of search.</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string or null if nothing was found.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineNumber(`1)">
            <summary>
            Returns the index of the given line inside the control (starting with 1 for the first line). If the passed
            line is not contained in the control the method returns -1.
            </summary>
            <param name="line">Line for which to get the index.</param>
            <returns>Index of the given line or -1 if it is not contained.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineNumber(ColorTextBoxControl.ILine)">
            <summary>
            This non-generic method returns the number of the passed line inside the document iff it is
            of the correct type for this ColorTextBox implementation!
            If the passed line has the wrong type or the line isn't contained the method returns -1.
            NOTE: This methods runtime complexity is linear (O(n) = n) so it should be used with care when
            a ColorTextBox is used to hold long texts!
            </summary>
            <param name="line">Line for which to get the number.</param>
            <returns>The number of the given line or -1 if it is not contained.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineNumberRelative(`1,System.Boolean)">
            <summary>
            This method returns the line number relative to the line number of the first visible line. The second
            parameter indicates the search direction (true == forward).
            NOTE: When calling this method ensure that the line is really contained before or after (depending on
            direction parameter) the current firstVisLine - otherwise the method will search through the whole
            document just to return -1!
            </summary>
            <param name="line">The line for which to get the index.</param>
            <param name="forward">Boolean value indicating search direction.</param>
            <returns>Index of the given line or -1 if the line wasn't found.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineAt(System.Int32)">
            <summary>
            Returns the line with the given line number (line numbers start at 1 for the FirstLine). If there 
            is no line at the given index the method returns null.
            NOTE: This methods runtime complexity is linear (O(n) = n) so it should be used with care when
            a ColorTextBox is used to hold long texts!
            </summary>
            <param name="index">Number of line to retrieve.</param>
            <returns>The line with the given number or null if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineAtRelative(System.Int32)">
            <summary>
            Returns the line with the given line number (line numbers start at 1 for the FirstLine). If there is
            no line at the given index the method returns null.
            This method searches for the line at the given index starting at the currently first visible line!
            NOTE: This method exists for performance reasons only and should be used when the index to search for
            is nearer to the index of the first visible line than to the index of the first or last line of the 
            document (in those cases the GetLineAt(int index) method is faster!)
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineAtYPos(System.Int32@)">
            <summary>
            Returns the line nearest to the given y position. The passed y coordinate is set to the baseline
            of the returned line. If the passed y coordinate lies above or below the viewable area the line before
            the first visible line or after the last visible line will be returned (if they exist!)
            </summary>
            <param name="y">Y position of the line.</param>
            <returns>The line nearest to the given y position or null if there aren't any visible lines.
            </returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetLineAtTxPos(System.Int32,System.Int32@)">
            <summary>
            Returns the Line at the given text position and sets the output parameter startPos to the start
            text position of the returned line.
            NOTE: This methods runtime complexity is linear (O(tpos) = tpos) so it should be used with care when
            a ColorTextBox is used to hold long texts!
            </summary>
            <param name="tpos">Text position to search for.</param>
            <param name="startPos">Start text postition of the returned line.</param>
            <returns>The line at the given text position. Null if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetPosition(System.Int32,System.Int32)">
            <summary>
            Returns the position at the specified line index and line position. If there is no line at the
            given index the method returns null. If linePos is not part of the given line (if it is negative
            or greater than the last position of the line) the respective following or previous line that 
            contains the position will be returned. The returned position may not be visible!
            NOTE: This methods runtime complexity is linear (O(n) = n) so it should be used with care when
            a ColorTextBox is used to hold long texts!
            </summary>
            <param name="lineIndex">Index of the line containing the position.</param>
            <param name="linePos">Position inside the given line.</param>
            <returns>The Position object for the specified line and line position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.GetPosition(System.Drawing.Point)">
            <summary>
            Returns the Position that is nearest to the given Point. If there are currently no
            visible lines in the control the method returns null!
            NOTE: If a position is found it is guaranteed to be visible!
            </summary>
            <param name="p">The Point for which to get the position.</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.SetRenderMode(ColorTextBoxControl.RenderMode)">
            <summary>
            Sets the render mode to GDI if true is passed as parameter - otherwise GDI+ rendering will be used
            </summary>
            <param name="useGDI">True sets rendering to GDI. False to GDI+</param>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.FileName">
            <summary>
            Gets or sets the file name associated to the current ColorTextBox instance.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.FilePath">
            <summary>
            Gets or sets the full path of the file associated to the current ColorTextBox instance.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Document">
            <summary>
            Gets or sets the document contained in the ColorTextBox. (Represents the data model)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.FirstLine">
            <summary>
            Gets or sets the first line in the ColorTextBox. Setting the content via this property allows the
            insertion of invalid lines - so the caller has to ensure that the line list to set is valid!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LastLine">
            <summary>
            Gets the last line in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Text">
            <summary>
            Gets or sets the Text contained in the ColorTextBox. When setting the Text the constructed lines
            will only consist of 2 tokens: one containing the text of the line and a newline token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Lines">
            <summary>
            Gets or sets the lines in the ColorTextBox (without newline 
            characters at the end of each string!)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Caret">
            <summary>
            Gets or sets the current caret position. Sets the caret to the specified position and ensures 
            that the caret is visible by scrolling to the new position. If a null reference is passed as 
            position the caret will be removed!
            Changing the caret position causes any current selection to be removed!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ShowCaret">
            <summary>
            This property can be used to enable or disable caret drawing. Setting the property to
            false will not remove the current caret (if there is any) and changing the caret position
            by clicking the control is still possible (although it will not be drawn anymore!).
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.IsCaretSet">
            <summary>
            Returns true if there is currently a caret set in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectionFromPos">
            <summary>
            Gets the current selection start position. If there currently is no selection a null reference 
            is returned.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectionToPos">
            <summary>
            Gets the current selection end position. If there currently is no selection a null reference is
            returned.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.IsTextSelected">
            <summary>
            Returns true if there currently exists a selection.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectedText">
            <summary>
            Gets or sets the selected text within the text box.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Rtf">
            <summary>
            Gets the text in the text box as an rtf formatted string.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectedRtf">
            <summary>
            Gets the currently selected text in the text box as an rtf formatted string.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectionColor">
            <summary>
            Gets or sets the text color of the current text selection or insertion point. If there is a 
            selection this property always returns the color at the end of the selection otherwise the
            color at the current caret position is returned!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.BackColor">
            <summary>
            Gets or sets the background color of the text area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ForeColor">
            <summary>
            Gets or sets the currently active color to be used when typing text.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CaretColor">
            <summary>
            Gets or sets the color of the caret.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LineNumForeColor">
            <summary>
            Gets or sets the color of the text used for line number display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LineNumBackColor">
            <summary>
            Gets or sets the background color of the area used for line number display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CaretInfoForeColor">
            <summary>
            Gets or sets the color of the text used for caret info display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CaretInfoBackColor">
            <summary>
            Gets or sets the background color of the area used for caret info display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectionBackColor">
            <summary>
            Gets or sets the color used for rendering the background of selections.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.SelectionTextColor">
            <summary>
            Gets or sets the color used for rendering selected text.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.MarginColor">
            <summary>
            Gets or sets the color used for rendering additional margins.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LineNumFont">
            <summary>
            Gets or sets the font that is used to display the line numbers. Setting the font to a font larger
            than the one currently used in the text box causes the height of the new font to be reset to the 
            height value of the text box's font.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CaretInfoFont">
            <summary>
            Gets or sets the font to be used for drawing caret position info.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.TextLength">
            <summary>
            Returns the length of text contained in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LineCount">
            <summary>
            Returns the number of lines contained in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.FirstVisibleLine">
            <summary>
            Returns the first visible line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LastVisibleLine">
            <summary>
            Returns the last visible line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.FirstVisLineNumber">
            <summary>
            Returns the line number of the first visible line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ColorTextBoxFormat">
            <summary>
            Returns the DataFormat String of a ColorTextBox instance used to store and retrieve data from 
            the Clipboard in an application specific format.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ColorTextBoxFormatSupported">
            <summary>
            Gets or sets a value indicating if the ColorTextBox should place and retrieve data from
            the clipboard in the own ColorTextBoxFormat - setting this property to false improves
            performance but disables the support for colors in copy-paste operations.
            Furthermore setting this property to false also disables support for the RTF format!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.RichTextFormatSupported">
            <summary>
            Gets or sets a value indicating if the ColorTextBox should place and retrieve data from
            the clipboard in the RichTextFormat. This property defaults to false as the conversion
            from and to RTF is currently extremely slow! Use it only to enable color support for
            copy-paste operations between different applications where performance is not an issue!
            Furthermore setting this property to true will also enable support for the 
            ColorTextBoxFormat which takes precedence over RTF!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Modified">
            <summary>
            Gets or sets a value that indicates that the text box control has been modified by the user 
            since the control was created or its contents were last set. 
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReadOnly">
            <summary>
            Gets or sets a value indicating whether text in the text box is read-only. Read-only means that
            the content of the text box can only be modified programmatically, i.e. the control does not react
            to user input that would change the content!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ShowLineNumbers">
            <summary>
            Turns rendering of line numbers on the left edge of the control on or off.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ShowCaretInfo">
            <summary>
            Turns rendering of caret position information area at the bottom of the control on or off.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CanUndo">
            <summary>
            Gets a value indicating whether the user can undo the previous operation in a text box control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CanRedo">
            <summary>
            Gets a value indicating whether there are actions that have occurred within the text box that 
            can be reapplied.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.RightToLeft">
            <summary>
            Gets or sets a value indicating whether control's elements are aligned to support locales using 
            right-to-left fonts. This property is not supported by ColorTextBox and therefore changing it has no
            effect.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Padding">
            <summary>
            Gets or sets the additional margins between the edge of the TextArea and the actual lines.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedMargin">
            <summary>
            Sets the margins between the TextArea and all reserved areas that may have been added to
            the control. 
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.MinimumSize">
            <summary>
            Gets or sets the size that is the lower limit that System.Windows.Forms.Control.GetPreferredSize(System.Drawing.Size)
            can specify.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.TextArea">
            <summary>
            Returns the Rectangle on which lines can be drawn.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ClientScrollRectangle">
            <summary>
            If there are scrollbars visible in the ColorTextBox this property returns the ClientRectangle without
            the width or height of the scrollbars. If there are no scrollbars visible the returned Rectangle is
            equal to the Rectangle returned by the ClientRectangle property.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.LineHeight">
            <summary>
            Gets the current line height for the ColorTextBox (depending on set font)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.Font">
            <summary>
            Gets or sets the current Font in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.BaseLineDistance">
            <summary>
            Returns the distance from the top of a line to the baseline.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedAreas">
            <summary>
            Returns a Region that contains all reserved areas (useful for repainting,...)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedLeftWidths">
            <summary>
            Gets the sum of all reserved widths on the left side of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedRightWidths">
            <summary>
            Gets the sum of all reserved widths on the right side of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedTopWidths">
            <summary>
            Gets the sum of all reserved heights at the top of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ReservedBottomWidths">
            <summary>
            Gets the sum of all reserved heights at the bottom of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.PaintSuspended">
            <summary>
            Returns a value indicating if painting to screen is currently disabled.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.BorderStyle">
            <summary>
            Gets or sets the BorderStyle of the ColorTextBox
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AcceptsReturn">
            <summary>
            Gets or sets a value indicating whether pressing ENTER in a ColorTextBox
            control creates a new line of text in the control or activates the default
            button for the form.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AcceptsTab">
            <summary>
            Gets or sets a value indicating whether pressing TAB in a ColorTextBox
            inserts a tab character or cycles through the controls.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.CharacterCasing">
            <summary>
            Indicates if all characters should be left alone or converted to uppercase or lowercase.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ShortcutsEnabled">
            <summary>
            Gets or sets a value indicating whether the defined shortcuts are enabled.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AutoScroll">
            <summary>
            This property is not supported by the ColorTextBox control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AutoScrollMinSize">
            <summary>
            This property is not supported by the ColorTextBox control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AutoScrollMargin">
            <summary>
            This property is not supported by the ColorTextBox control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.AutoScrollOffset">
            <summary>
            This property is not supported in the ColorTextBox control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBoxBase`3.ScrollBars">
            <summary>
            Gets or sets which scroll bars should appear in a multiline TextBox control. 
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.debugCurrLine">
            <summary>
            TODO: REMOVE DEBUG METHOD!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.debugSelection">
            <summary>
            TODO: REMOVE DEBUG METHOD!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.debugVScroll">
            <summary>
            TODO: REMOVE DEBUG METHOD!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawReservedAreas(System.Boolean)">
            <summary>
            This method acts as a wrapper for drawing all registered reserved areas. It calculates the clipping
            regions for all reserved areas and calls the registered delegate methods for each. If one of these
            registered drawing methods returns false, the method will return without further drawing.
            </summary>
            <param name="paint">Determines if the drawn regions should be immediately rendered to the screen.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawReservedArea(ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.ReservedLocation,System.String,System.Boolean)">
            <summary>
            This method can be used to call the draw delegate of the given reserved area directly.
            If the area has been successfully redrawn this method returns true, otherwise false.
            </summary>
            <param name="location">Location of the area to redraw.</param>
            <param name="id">Id string of the area at the given location.</param>
            <param name="paint">Determines if the drawn region should be immediately rendered to the screen.</param>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawContent(`1,System.Drawing.Graphics,ColorTextBoxControl.ColorTextBoxBase{`0,`1,`2}.DrawMode,System.Boolean)">
            <summary>
            Content drawing method. Draws the lines contained in the clipping region defined on the passed graphics
            object onto the offscreen graphics buffer. Line drawing starts at the passed line and continues until
            no more lines are visible or until the end of the clipping region is reached, whichever comes first.
            Furthermore the DrawMode parameter determines which parts of the controls area are to be redrawn.
            There are 4 modes:
            DrawMode.Caret: Redraws only the line part occupied by the caret (clipping region has to be set accordingly)
            DrawMode.Lines: Redraws only the lines inside the intersection of the TextArea and the clipping region
            DrawMode.Reserved: Redraws only the defined reserved areas by calling the registered draw delegate methods
            DrawMode.All: Performs all of the above steps
            The paint parameter determines if the changes to the background buffer should immediately rendered
            to the screen by invalidating the changed regions and calling Update().
            </summary>
            <param name="start">Line from which to start redrawing</param>
            <param name="g">Graphics object on which to draw.</param>
            <param name="mode">Draw mode which determines what is to be redrawn.</param>
            <param name="paint">Determines if the changes should be rendered from the buffer to the screen.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawLine(`1,System.Drawing.RectangleF,System.Drawing.Point,System.Drawing.Graphics)">
            <summary>
            Draws the given line to the background buffer. Draws only the tokens of a line which are inside
            the given bounding rectangle.
            </summary>
            <param name="l">Line to draw.</param>
            <param name="r">Bounding rectangle of the current clipping region.</param>
            <param name="p">Starting point of the current line.</param>
            <param name="g">Graphics object to draw on.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawLongString(System.Drawing.Graphics,System.String,System.Drawing.Color,System.Drawing.Color,System.Drawing.Point@,System.Drawing.RectangleF)">
            <summary>
            This helper method is responsible for drawing tokens whose length exceeds the value defined
            by the MAX_TOKEN_LEN constant. This is necessary because TextRenderer.DrawText does not render
            strings which exceed a certain length!
            </summary>
            <param name="g">Graphics context to draw on.</param>
            <param name="s">Long string to render (longer than MAX_TOKEN_LEN).</param>
            <param name="tC">Color of the text to be rendered.</param>
            <param name="bC">Background color of the text to be rendered.</param>
            <param name="p">Start point of the provided token.</param>
            <param name="r">Bounding rectangle to draw in.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawSelectedLine(`1,System.Drawing.RectangleF,System.Drawing.Point,System.Drawing.Graphics)">
            <summary>
            Draws the given selected line to the background buffer. Draws only tokens which are inside the
            given bounding rectangle.
            </summary>
            <param name="l">Line to draw.</param>
            <param name="r">Bounding rectangle of the current clipping region.</param>
            <param name="p">Starting point of the current line.</param>
            <param name="g">Graphics object to draw on.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawTokenSubstring(`2,System.Int32,System.Int32,System.Drawing.Point@,System.Boolean,System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Helper method which draws the substring of a token value defined by the provided start position
            and length parameter. The method can be used to draw selected or unselected substrings and 
            calculates the start position of the next token or substring to render.
            </summary>
            <param name="t">Token which should be (partly) drawn.</param>
            <param name="start">Start position inside the token.</param>
            <param name="len">Length of the substring to render.</param>
            <param name="p">Reference to the starting point of the substring to render (has to be set accordingly!)</param>
            <param name="selected">Determines if the string to render is selected or not.</param>
            <param name="g">Graphics context to draw onto.</param>
            <param name="r">Bounding rectangle of the line to render.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawBackground(System.Drawing.Graphics)">
            <summary>
            Delegate method which can be used to craw margins that have the color of the controls BackColor
            property - used to draw the additional padding between the TextArea and the rendered lines.
            </summary>
            <param name="g">Graphics object to draw on with the clipping area set accordingly.</param>
            <returns>True on success. False on error.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawMargin(System.Drawing.Graphics)">
            <summary>
            Delegate method for drawing additional margins. Called from the delegates within the ReservedAreas
            that represent page margins.
            </summary>
            <param name="g">Graphics object to draw on with the clipping area set accordingly.</param>
            <returns>True on success. False on error.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawLineNumbers(System.Drawing.Graphics)">
            <summary>
            Method responsible for drawing the line numbers if there exists a reserved line number area on the
            left edge of the client area. If the reserved area is too small to render the line numbers the method
            causes a recalculation / redraw of the whole client area and returns false to abort all further 
            drawing of reserved areas.
            </summary>
            <param name="g">Graphics object to draw to - has to have the clipping region set accordingly!</param>
            <returns>True on success. False if the area to draw on is too small.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawCaretInfo(System.Drawing.Graphics)">
            <summary>
            Delegate method for drawing the current caret position information at the bottom of the editor. 
            </summary>
            <param name="g">Graphics object to draw on with the clipping area set accordingly.</param>
            <returns>True on success. False on error.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.invertCaret">
            <summary>
            Draws the caret at the current position. To be called from the caret timer as repeated calls to
            this method make the caret blink.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawOnInsert(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            Responsible for redrawing the Control when an Insert event occured. Override to use token based
            font calculation! This implementation assumes that the insertion line was visible before, i.e. the
            caller has to ensure to scroll to the insertion line if necessary before insertion!
            </summary>
            <param name="args">UpdateEventArgs object of this insert event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawOnDelete(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            Responsible for redrawing the Control when a Delete event occured. Override to use token based
            font calculation! (NOTE: This implementation assumes that the line at which the deletion started
            was visible before deletion! This contract has to be honored by every procedure that triggers 
            delete events! The only exception is when deleting the CRLF token between firstVisLine and its'
            previous line which requires a single line scroll up that is handled by this method!)
            </summary>
            <param name="args">UpdateEventArgs object of this delete event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawOnColorChange(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            Responsible for redrawing the ColorTextBox when the color of some text in the control is changed.
            </summary>
            <param name="args">UpdateEventArgs object of this delete event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.measureString(System.Drawing.Graphics,System.String,System.Drawing.Font)">
            <summary>
            Calculates the size of the given string to be rendered.
            </summary>
            <param name="s">String to be measured.</param>
            <param name="f">Font to use for calculation.</param>
            <param name="g">Graphics context on which to draw.</param>
            <returns>Size of the bounding rectangle surrounding the given String.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.drawString(System.Drawing.Graphics,System.String,System.Drawing.Font,System.Drawing.Point,System.Drawing.Color,System.Drawing.Color,System.Int32)">
            <summary>
            Wrapper method that draws the given string to the background buffer.
            </summary>
            <param name="g">Graphics context to draw onto.</param>
            <param name="s">String to render.</param>
            <param name="f">Font to use for rendering.</param>
            <param name="p">Point determining the rendering position.</param>
            <param name="txCol">Color of the string to draw.</param>
            <param name="bgCol">Background color of the string to draw.</param>
            <param name="width">Optional width of the string to render - if width is unknown pass -1!</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.getGraphics(System.Drawing.Region)">
            <summary>
            Gets the graphics buffer used for drawing operations. If a graphics buffer has not yet been initialized
            this method will call initGraphics() to do so. The passed region will be set on the returned offscreen
            graphics object and additionally be added to the clipping region of the screenGraphics object! Thus
            passing a suitably sized clipping region can greatly improve rendering performance!
            If a null reference is passed as clipping region the clipping region of the screenGraphics object will
            not be changed but the clipping region of the returned offscreen graphics buffer will be set to an 
            empty region!
            </summary>
            <param name="clipRegion">Clipping region to add to the returned buffer.</param>
            <returns>The graphics object of the applications graphics buffer.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.initGraphics">
            <summary>
            This method should be called before any drawing operations are performed. It creates a graphics object
            for the ColorTextBox and allocates a compatible background graphics object on which all drawing is
            performed. When OnPaint() is called the background graphics is rendered to the screenGraphics object.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.makeBitBltCopy(System.Drawing.Rectangle,System.Drawing.Rectangle)">
            <summary>
            This method copies the screen rectangle specified by screenSrc to the rectangle graphDest inside
            the graphics buffer. Used for high-performance scrolling.
            NOTE: Calling this method sets the clipping region of the background buffer to the provided destination
            rectangle - this has to be considered when the caller continues to draw on the buffer after calling
            this method!
            </summary>
            <param name="screenSrc">Source rectangle (in screen coordinates).</param>
            <param name="graphDest">Destination rectangle inside the graphics buffer.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.disposeGraphics">
            <summary>
            Deallocates graphics context and buffer used for rendering!
            </summary>
        </member>
        <member name="E:ColorTextBoxControl.ColorTextBoxBase`3.GUIMessageEvent">
            <summary>
            Event that can be used to send message strings to an attached GUI
            </summary>
        </member>
        <member name="E:ColorTextBoxControl.ColorTextBoxBase`3.Scroll">
            <summary>
            Occurs when the user or code scrolls through the client area.
            </summary>
        </member>
        <member name="E:ColorTextBoxControl.ColorTextBoxBase`3.CaretChanged">
            <summary>
            Occurs when the position of the caret changes.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.PosPrevWord(ColorTextBoxControl.Position{`1,`2})">
            <summary>
            Returns the start position of the previous word
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.PosNextWord(ColorTextBoxControl.Position{`1,`2})">
            <summary>
            Returns the start position of the next word
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.changeCasing(System.Windows.Forms.CharacterCasing,System.String)">
            <summary>
            Inverts the casing of the provided string, i.e. lowercase letters are converted to uppercase and
            vice versa.
            </summary>
            <param name="casing">Character casing to change to</param>
            <param name="s">String to invert.</param>
            <returns>Inverted string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.editChangeCasing(System.Windows.Forms.CharacterCasing)">
            <summary>
            Edit method which changes the casing of the character at the current caret position
            or the casing of the current selection according to the provided CharacterCasing parameter.
            </summary>
            <param name="casing">Parameter which determines how to change the casing.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.IsInputKey(System.Windows.Forms.Keys)">
            <summary>
            Returns a boolean value for a specified key which indicates if the KeyEvent should be
            processed directly by the ColorTextBox (true) or first by the containing control (false).
            </summary>
            <param name="keyData">Key to process.</param>
            <returns>The value of the enabled property.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.IsInputChar(System.Char)">
            <summary>
            Determines if a character is an input character that the ColorTextBox recognizes.
            </summary>
            <param name="charCode">Character to check.</param>
            <returns>True for characters that are accepted.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Overrides UserControl.OnKeyDown. Called when a key is down.
            </summary>
            <param name="e">KeyEventArgs object of this key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleCtrlKey(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Handles control key events when the Control key is pressed
            </summary>
            <param name="e">KeyEventArgs for the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleShiftKey(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Handles control key events with pressed shift button.
            </summary>
            <param name="e">KeyEventArgs for the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleCtrlShiftKey(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Handles control key events with pressed Ctrl and Shift key.
            </summary>
            <param name="e">KeyEventArgs for the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleAltKey(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Handles control key events with pressed alt button.
            </summary>
            <param name="e">KeyEventArgs for the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleKey(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Handles all normal control key events
            </summary>
            <param name="e">KeyEventArgs for the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.resAreaMouseEvent(System.Windows.Forms.MouseEventArgs,ColorTextBoxControl.MouseEventType)">
            <summary>
            Checks if a mouse event should be processed by the event handler method of a reserved area.
            Returns true if a reserved area already handled the event or false if the ColorTextBox should
            handle the mouse event itself.
            </summary>
            <param name="args">MouseEventArgs of the mouse event.</param>
            <param name="type">Determines the type of the MouseEvent that occured.</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.handleLNumMouseEvt(System.Windows.Forms.MouseEventArgs,ColorTextBoxControl.MouseEventType)">
            <summary>
            Event handle method that handles mouse events occuring inside the reserved area used for 
            displaying the line numbers.
            </summary>
            <param name="args">MouseEventArgs of the mouse event.</param>
            <param name="type">Determines the type of the MouseEvent that occured.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnKeyPress(System.Windows.Forms.KeyPressEventArgs)">
            <summary>
            Overrides UserControl.OnKeyPress. Called when key is pressed.
            </summary>
            <param name="e">KeyPressEventArgs of the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnKeyUp(System.Windows.Forms.KeyEventArgs)">
            <summary>
            Overrides UserControl.OnKeyUp. Called when key goes up.
            </summary>
            <param name="e">KeyEventArgs of the key event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when mouse is moved over control.
            </summary>
            <param name="e">MouseEventArgs of the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when the mouse wheel is moved.
            </summary>
            <param name="e">MouseEventArgs of the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when a mouse button goes down.
            </summary>
            <param name="e">MouseEventArgs of the mouse event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when mouse button goes up.
            </summary>
            <param name="e">MouseEventArgs of the mouse event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseClick(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when mouse is clicked inside control.
            </summary>
            <param name="e">MouseEventArgs of the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMouseDoubleClick(System.Windows.Forms.MouseEventArgs)">
            <summary>
            Called when a double click occurs inside the control. Selects the word on which the user clicked - 
            a word is delimited by the chars contained in the DELIM_CHARS string. If the user double clicks on
            one of these characters only the respective char will be selected.
            </summary>
            <param name="e">MouseEventArgs of the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnDragOver(System.Windows.Forms.DragEventArgs)">
            <summary>
            Called when the mouse is dragged over the control (moved over the control from the outside with 
            a button pressed)
            </summary>
            <param name="drgevent">DragEventArgs of the drag event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnDragEnter(System.Windows.Forms.DragEventArgs)">
            <summary>
            Called when the mouse is dragged over the control for the first time.
            </summary>
            <param name="drgevent">DragEventArgs of the drag event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnDragLeave(System.EventArgs)">
            <summary>
            Called when a mouse is dragged to the outside of the control.
            </summary>
            <param name="e">EventArgs of the drag event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnDragDrop(System.Windows.Forms.DragEventArgs)">
            <summary>
            Called when a drag-drop operation is performed inside the control.
            </summary>
            <param name="drgevent">DragEventArgs of the drag event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnPaint(System.Windows.Forms.PaintEventArgs)">
            <summary>
            Overridden OnPaint method for the ColorTextBox. The ColorTextBox control uses the following mechanism 
            for painting:
            All changes to the internal data are first rendered to an offscreen graphics buffer. These changes are
            then immediately drawn to the screen by calling this method with a null reference as parameter (which
            indicates that the repaint event originated from internal code) So when the argument is null the 
            invalidated region defined on the screenGraphics object will be painted.
            Whenever the OS needs to repaint the control it will call the method with a non-null parameter which
            will cause the invalidated rectangle defined in the PaintEventArgs to be redrawn (from the background
            buffer).
            Painting of internal changes can be suspended by calling SuspendPainting().
            </summary>
            <param name="e">PaintEventArgs of the paint event - passing a null reference will not call the
            base implementation but cause the invalidated region defined on the screenGraphics object to be painted.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnInvalidateRegion(System.Drawing.Region)">
            <summary>
            Calls Invalidate on the control with the passed clipping region set and causes immediate repaint by
            calling Update().
            </summary>
            <param name="updateReg">Region to be invalidated.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnNotifyMessage(System.Windows.Forms.Message)">
            <summary>
            Overridden OnNotifyMessage method - with the control style EnableNotifyMessage set to true this method
            allows processing of windows messages sent to the control (without modifying them).
            Used to trigger repaint of the control when the system sends a paint call, because per default the
            control only paints itself when the underlying data model is changed or the user interacts with the
            control (scrolling, ...)
            </summary>
            <param name="m"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnMessage(ColorTextBoxControl.MessageEventArgs)">
            <summary>
            Raises the GUIMessageEvent which allows registered delegates to process internal messages generated by
            the ColorTextBox. The default implementation of ColorTextBox never raises GUIMessageEvents!
            </summary>
            <param name="args">The message string to send.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnScroll(System.Windows.Forms.ScrollEventArgs)">
            <summary>
            This method is called when a scroll event occurs. The base implementation uses this method to redraw the
            line number area if necessary. Thus if overriding this method the base implementation has to be called in
            order to update the line numbers!
            </summary>
            <param name="se"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.checkHorizScrollBar">
            <summary>
            Checks if the horizontal ScrollBar has to be visible or not and updates the maximum
            value of the ScrollBar if necessary.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnResize(System.EventArgs)">
            <summary>
            Handles resize events. Initializes a new graphics buffer with the new size and invalidates the 
            locally stored textArea field.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnLostFocus(System.EventArgs)">
            <summary>
            Overridden OnLostFocus implementation - raises the LostFocus event and disables
            caret drawing.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnGotFocus(System.EventArgs)">
            <summary>
            Overridden OnGotFocus implementation - raises the GotFocus event and enables 
            caret drawing.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnFontChanged(System.EventArgs)">
            <summary>
            Handles font change events. Recalculates the line height and base line distance for the new Font
            and redraws the whole text area.
            </summary>
            <param name="e">EventArgs of the font change event.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBoxBase`3.OnCaretChange(ColorTextBoxControl.CaretEventArgs)">
            <summary>
            Raises the CaretEvent event. Overriding subclasses should call this base implementation to allow
            handling of the CaretEvent through registered delegates!
            </summary>
            <param name="e">The CaretEventArgs of the CaretEvent.</param>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBox">
            <summary>
            This is the default implementation of the abstract generic base class ColorTextBox
            A ColorTextBox is an editor control similar to a TextBox. It supports most of the properties and methods
            that are found in the TextBoxBase class for editing, selection and caret handling, ... plus some 
            functionality of a RichTextBox.
            In contrast to a TextBox a ColorTextBox supports different colors and can only be used as a multiline
            text editor. With the ShowLineNumbers and ShowCaretInfo properties the user has the ability to add
            regions to the control that show the line numbers and information about the caret position.
            Additionally the ColorTextBox supports the concept of reserved areas which allows derived
            classes to add or remove user defined regions at the border of the control whose areas can be drawn
            by the user. See documentation in the base class.
            NOTE: The additional methods and properties that are defined in this implementation exist solely for
            compatability with the TextBox implementation in the .Net class library. Using these methods may not
            be the most efficient way to interact with the ColorTextBox - this applies specifically to methods 
            that work with absolute character positions and lengths!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.LoadFile(System.String)">
            <summary>
            Loads a Unicode or standard ASCII text file into the ColorTextBox control. 
            </summary>
            <param name="path">Path to the file to load.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.SaveFile(System.String)">
            <summary>
            Saves the contents of the ColorTextBox to a Unicode file.
            </summary>
            <param name="path">The name and location of the file to save.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Select(System.Int32,System.Int32)">
            <summary>
            Selects a range of text in the text box. If the given start position does not exist nothing will be
            selected.
            </summary>
            <param name="start">The position of the first character in the current text selection within 
            the text box.</param>
            <param name="length">The number of characters to select.</param>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.Char[])">
            <summary>
            Searches the text of a ColorTextBox control for the first instance of a character from a list of 
            characters.  
            </summary>
            <param name="search">Array of characters to search for.</param>
            <returns>Start position of the first occurence of any of the chars in the search array.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.Char[],System.Int32)">
            <summary>
             Searches the text of a ColorTextBox control, at a specific starting point, for the first instance of 
            a character from a list of characters.
            </summary>
            <param name="search">Array of characters to search for.</param>
            <param name="start">Start position at which to start searching.</param>
            <returns>Start position of the first occurence of any of the chars in the search array.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.Char[],System.Int32,System.Int32)">
            <summary>
            Searches a range of text in a ColorTextBox control for the first instance of a character from a list 
            of characters. 
            </summary>
            <param name="search">Array of characters to search for.</param>
            <param name="start">The location within the control's text at which to begin searching.</param>
            <param name="end">The location within the control's text at which to end searching.</param>
            <returns>Start position of the first occurence of any of the chars in the search array.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.String)">
            <summary>
            Searches the text in a ColorTextBox control for a string. 
            </summary>
            <param name="search">String to search for.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.String,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string with specific options applied to the search. 
            </summary>
            <param name="search">The string to search for</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.String,System.Int32,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string at a specific location within the control 
            and with specific options applied to the search.
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">The location within the control's text at which to begin searching.</param>
            <param name="finds"></param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ColorTextBox.Find(System.String,System.Int32,System.Int32,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a RichTextBox control for a string within a range of text within the control 
            and with specific options applied to the search.  
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">The location within the control's text at which to begin searching.</param>
            <param name="end">The location within the control's text at which to end searching.</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBox.SelectionStart">
            <summary>
            NOTE: This property exists for compatability reasons with the .Net TextBox class and is very inefficient!
            Gets or sets the starting point of text selected in the text box.
            If no text is selected in the control, this property indicates the insertion point for new text.
            If you set this property to a location beyond the length of the text in the control, the selection 
            start position will be placed after the last character. When text is selected in the text box 
            control, changing this property might decrease the value of the SelectionLength property. 
            If the remaining text in the control after the position indicated by the SelectionStart property 
            is less than the value of the SelectionLength property, the value of the SelectionLength property 
            is automatically decreased. The value of the SelectionStart property never causes an increase in 
            the SelectionLength property.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ColorTextBox.SelectionLength">
            <summary>
            Gets or sets the number of characters selected in control. If there currently exists a selection its
            length will be trimmed or extended to the new length. If there is currently no selection the given
            amount of characters will be selected beginning at the current caret position. Setting the property
            to a negative value has no effect at all.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.MouseEventType">
            <summary>
            This enumeration defines mouse events that can be handled by reserved areas as well. A registered mouse event
            handler for a reserved area receives one of the defined MouseEventTypes and can so determine if it wants to
            handle it or not.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.IColorTextBox">
            <summary>
            This interface is implemented by the abstract generic base class ColorTextBox. 
            It can be used as non-generic base type for methods that wish to work with different concrete 
            implementations of a ColorTextbox.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.SetRenderMode(ColorTextBoxControl.RenderMode)">
            <summary>
            Sets the rendering mode to the provided parameter.
            </summary>
            <param name="mode">The new rendering mode to apply</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.SuspendPainting">
            <summary>
            Suspends all further painting to the screen. After calling this method all changes to the documents data
            will only be drawn to the background buffer until ResumePainting() is called.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.ResumePainting(System.Boolean)">
            <summary>
            Resumes painting to the screen and optionally draws all pending changes immediately.
            </summary>
            <param name="paintPending">When true all pending changes are painted immediately</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Undo">
            <summary>
            Tries to undo the last operation in the undo buffer and moves it to the redo buffer.
            Override when implementing own UpdateEventArgs!
            </summary>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.ClearUndo">
            <summary>
            Removes all available undo operations from the undo buffer.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Redo">
            <summary>
            Tries to redo the last undo operation in the redo buffer and adds it to the undo buffer again.
            Override when implementing own UpdateEventArgs!
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Copy">
            <summary>
            Copies the currently selected text to the platforms' clipboard. Returns true on success or false
            if there isn't a valid selection to copy. This implementation places the selected text in the
            following data formats into the clipboard:
            ColorTextBoxFormat, StringFormat, UnicodeText and Rtf.
            </summary>
            <returns>True on success. False if there is no selection.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Paste">
            <summary>
            Tries to insert text from the system clipboard into the document at the current caret position.
            If there is currently some text selected it will be deleted prior to insertion.
            This method searches the clipboard for the following text formats and inserts the first one 
            encountered: ColorTextBoxFormat, StringFormat, UnicodeText and Text.
            </summary>
            <returns>True on success. False if there is no suitable data found in the clipboard.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.CanPaste(System.String)">
            <summary>
            Returns a boolean value indicating if text of the given format can be inserted into the
            ColorTextBox.
            </summary>
            <param name="format">Format to check.</param>
            <returns>True if content of the given format can be inserted.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Cut">
            <summary>
            Moves the currently selected text to the clipboard. Returns true on success or false if there
            isn't a valid selection to cut. This implementation places the selected text in the following
            data formats into the clipboard:
            ColorTextBoxFormat, StringFormat, UnicodeText and Rtf.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Clear">
            <summary>
            Deletes all text contained in the ColorTextBox.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.AppendText(System.String)">
            <summary>
            Appends the given string to the end of the ColorTextBox. Use this method instead of appending 
            text to the Text property with the "+" operator!
            </summary>
            <param name="text">The text to append at the end of the text box.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Insert(System.String)">
            <summary>
            Inserts the given text at the current caret position. If there exists a selection the selected
            text will be replaced with the given string.
            If there is neither a caret nor a selection no changes will be made.
            </summary>
            <param name="text">The text to insert into the text box.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.RemoveCaret">
            <summary>
            Removes the caret if there currently is any.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.ScrollToCaret">
            <summary>
            Ensures that the line containing the current caret position is visible.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.ScrollToLine(System.Int32)">
            <summary>
            Scrolls to the line at the given index if it is currently not visible
            </summary>
            <param name="index">Index of the line to scroll to</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.ScrollToLine(ColorTextBoxControl.ILine)">
            <summary>
            Scrolls to the given line if it is currently not visible
            </summary>
            <param name="line">Line to scroll to</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.SelectAll">
            <summary>
            Selects all text in the text box. 
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.DeselectAll">
            <summary>
            Specifies that the value of the SelectionLength property is zero so that no characters are 
            selected in the control. 
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Delete(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition)">
            <summary>
            Deletes the text contained between the given positions.
            </summary>
            <param name="from">Start position of deletion.</param>
            <param name="to">End position of deletion.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Delete(ColorTextBoxControl.IPosition,System.Int32)">
            <summary>
            Deletes the given amount of characters 
            </summary>
            <param name="start">Start position of deletion.</param>
            <param name="length">Number of chars to delete.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Replace(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,System.String)">
            <summary>
            Replaces the text between the given positions with the given string.
            </summary>
            <param name="from">Start position of replacing.</param>
            <param name="to">End position of replacing.</param>
            <param name="text">String to replace with.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Select(ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition)">
            <summary>
            Selects the text between the given positions.
            </summary>
            <param name="from">Start position of the text to select.</param>
            <param name="to">End position of the text to select.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Select(ColorTextBoxControl.IPosition,System.Int32)">
            <summary>
            Selects the given amount of postions following the given start position.
            </summary>
            <param name="start">Start position of the text to select.</param>
            <param name="length">Number of positions to select.</param>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Search(System.String)">
            <summary>
            Searches the text in a ColorTextBox control for a string. 
            </summary>
            <param name="search">String to search for.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Search(System.String,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string with specific options applied to the search. 
            </summary>
            <param name="search">The string to search for</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Search(System.String,ColorTextBoxControl.IPosition,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a string at a specific location within the control 
            and with specific options applied to the search.
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">The location within the control's text at which to begin searching.</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.Search(System.String,ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches the text in a ColorTextBox control for a given string between the given positions.
            </summary>
            <param name="search">The string to search for.</param>
            <param name="start">Start position of search.</param>
            <param name="end">End position of search.</param>
            <param name="finds">A bitwise combination of the ColorTextBoxFinds values.</param>
            <returns>Start position of the first occurence of the search string or null if nothing was found.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.GetPosition(System.Int32,System.Int32)">
            <summary>
            Returns the position at the specified line index and line position. If there is no line at the
            given index the method returns null. If linePos is not part of the given line (if it is negative
            or greater than the last position of the line) the respective following or previous line that 
            contains the position will be returned.
            NOTE: The returned position may not be visible!
            </summary>
            <param name="lineIndex">Index of the line containing the position.</param>
            <param name="linePos">Position inside the given line.</param>
            <returns>The Position object for the specified line and line position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.GetPosition(System.Drawing.Point)">
            <summary>
            Returns the Position that is nearest to the given Point. If there are currently no
            visible lines in the control the method returns null!
            NOTE: If a position is found it is guaranteed to be visible!
            </summary>
            <param name="p">The Point for which to get the position.</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.IColorTextBox.GetLineNumber(ColorTextBoxControl.ILine)">
            <summary>
            This non-generic method returns the number of the passed line inside the document iff it is
            of the correct type for this ColorTextBox implementation!
            If the passed line has the wrong type or the line isn't contained the method returns -1.
            </summary>
            <param name="line">Line for which to get the number.</param>
            <returns>The number of the given line or -1 if it is not contained.</returns>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Document">
            <summary>
            Gets or sets the document contained in the ColorTextBox. (Represents the data model)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.FileName">
            <summary>
            Gets or sets the file name associated to the current ColorTextBox instance.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.FilePath">
            <summary>
            Gets or sets the full path of the file associated to the current ColorTextBox instance.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Caret">
            <summary>
            Gets or sets the current caret position. Sets the caret to the specified position and ensures 
            that the caret is visible by scrolling to the new position. If a null reference is passed as 
            position the caret will be removed!
            Changing the caret position causes any current selection to be removed!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Text">
            <summary>
            Gets or sets the Text contained in the ColorTextBox. When setting the Text the constructed lines
            will only consist of 2 tokens: one containing the text of the line and a newline token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Lines">
            <summary>
            Gets or sets the lines in the ColorTextBox (without newline 
            characters at the end of each string!)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.SelectedText">
            <summary>
            Gets or sets the selected text within the text box.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Rtf">
            <summary>
            Gets the text in the text box as an rtf formatted string.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.SelectedRtf">
            <summary>
            Gets the currently selected text in the text box as an rtf formatted string.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.SelectionFromPos">
            <summary>
            Gets the current selection start position. If there currently is no selection a null reference 
            is returned.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.SelectionToPos">
            <summary>
            Gets the current selection end position. If there currently is no selection a null reference is
            returned.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.SelectionColor">
            <summary>
            Gets or sets the text color of the current text selection or insertion point. If there is a 
            selection this property always returns the color at the end of the selection otherwise the
            color at the current caret position is returned!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ForeColor">
            <summary>
            Gets or sets the currently active color to be used when typing text.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CaretColor">
            <summary>
            Gets or sets the color of the caret.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.LineNumForeColor">
            <summary>
            Gets or sets the color of the text used for line number display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.LineNumBackColor">
            <summary>
            Gets or sets the background color of the area used for line number display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CaretInfoForeColor">
            <summary>
            Gets or sets the color of the text used for caret info display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CaretInfoBackColor">
            <summary>
            Gets or sets the background color of the area used for caret info display.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.LineNumFont">
            <summary>
            Gets or sets the font that is used to display the line numbers. Setting the font to a font larger
            than the one currently used in the text box causes the height of the new font to be reset to the 
            height value of the text box's font.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CaretInfoFont">
            <summary>
            Gets or sets the font to be used for drawing caret position info.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.TextLength">
            <summary>
            Returns the length of text contained in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.LineCount">
            <summary>
            Returns the number of lines contained in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.FirstVisLineNumber">
            <summary>
            Returns the line number of the first visible line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ColorTextBoxFormat">
            <summary>
            Returns the DataFormat String of a ColorTextBox instance used to store and retrieve data from 
            the Clipboard in an application specific format.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.IsCaretSet">
            <summary>
            Returns true if there is currently a caret set in the ColorTextBox.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.IsTextSelected">
            <summary>
            Returns true if there currently exists a selection.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Modified">
            <summary>
            Gets or sets a value that indicates that the text box control has been modified by the user 
            since the control was created or its contents were last set. 
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReadOnly">
            <summary>
            Gets or sets a value indicating whether text in the text box is read-only. Read-only means that
            the content of the text box can only be modified programmatically, i.e. the control does not react
            to user input that would change the content!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ShowLineNumbers">
            <summary>
            Turns rendering of line numbers on the left edge of the control on or off.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ShowCaretInfo">
            <summary>
            Turns rendering of caret position information area at the bottom of the control on or off.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CanUndo">
            <summary>
            Gets a value indicating whether the user can undo the previous operation in a text box control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.CanRedo">
            <summary>
            Gets a value indicating whether there are actions that have occurred within the text box that 
            can be reapplied.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.RightToLeft">
            <summary>
            Gets or sets a value indicating whether control's elements are aligned to support locales using 
            right-to-left fonts. This property is not supported by ColorTextBox and therefore changing it has no
            effect.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.Padding">
            <summary>
            The padding property is not supported in the ColorTextBox control!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.MinimumSize">
            <summary>
            Gets or sets the size that is the lower limit that System.Windows.Forms.Control.GetPreferredSize(System.Drawing.Size)
            can specify.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.TextArea">
            <summary>
            Returns the Rectangle on which lines can be drawn.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ClientScrollRectangle">
            <summary>
            If there are scrollbars visible in the ColorTextBox this property returns the ClientRectangle without
            the width or height of the scrollbars. If there are no scrollbars visible the returned Rectangle is
            equal to the Rectangle returned by the ClientRectangle property.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.LineHeight">
            <summary>
            Gets the current line height for the ColorTextBox (depending on set font)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.BaseLineDistance">
            <summary>
            Returns the distance from the top of a line to the baseline.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReservedAreas">
            <summary>
            Returns a Region that contains all reserved areas (useful for repainting,...)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReservedLeftWidths">
            <summary>
            Gets the sum of all reserved widths on the left side of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReservedRightWidths">
            <summary>
            Gets the sum of all reserved widths on the right side of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReservedTopWidths">
            <summary>
            Gets the sum of all reserved heights at the top of the client area.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IColorTextBox.ReservedBottomWidths">
            <summary>
            Gets the sum of all reserved heights at the bottom of the client area.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.IToken">
            <summary>
            This interface is implemented by the abstract generic base class TokenBase and can be used as a 
            non-generic base type for methods that wish to work with different implementations of TokenBase.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IToken.ToString">
            <summary>
            Overridden ToString() method which returns the Value property - used for debugging purposes
            </summary>
            <returns>The value of this token.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IToken.Equals(ColorTextBoxControl.IToken)">
            <summary>
            Overloaded equality check - this method does not test if both tokens refer to the same object.
            Two tokens are considered equal if they have the same type, the same value and the same color.
            NOTE: This method should be overridden by each subclass to compare additional features.
            </summary>
            <param name="t">The token to check for equality.</param>
            <returns>True if the current token is equal to the token to compare to.</returns>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Value">
            <summary>
            Gets or sets the value of this token.
            NOTE: Setting the value of a token directly will not trigger any update events!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Item(System.Int32)">
            <summary>
            Indexer for array-like access to the token value. Throws an IndexOutOfRangeException if the
            given index is out of range.
            </summary>
            <param name="index">Index of the character to set or get.</param>
            <returns>Character at the given index.</returns>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Length">
            <summary>
            Returns the length of this LineToken's value.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IToken.IsNewLineToken">
            <summary>
            Returns true if this token is an end of line token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Color">
            <summary>
            Gets or sets the color of this token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Width">
            <summary>
            Gets or sets the rendering width of the current token - to be used by the rendering control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IToken.Height">
            <summary>
            Gets or sets the height of the current token - to be used by the rendering control.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ILine">
            <summary>
            This interface is implemented by the abstract generic base class LineBase and can be used as a 
            non-generic base type for methods that wish to work with different implementations of LineBase.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.ILine.ToString">
            <summary>
            This method concatenates the values of all contained pieces to one string which is returned.
            </summary>
            <returns>String representation of this line</returns>
        </member>
        <member name="M:ColorTextBoxControl.ILine.CharAt(System.Int32)">
            <summary>
            Returns the character at the given position. If there is no character at the given position the 
            method returns the constant value Char.MaxValue (which corresponds to the Unicode point 0xFFFF,
            which is guarenteed not to refer to an actual character value!) - this is only the case for the last
            position of a file, i.e. Char.MaxValue represents the end of file!
            </summary>
            <param name="pos">Position of character to return.</param>
            <returns>Character at given position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ILine.SubString(System.Int32,System.Int32)">
            <summary>
            Get the Substring of the given length starting at the given position of the line. If len exceeds
            the lines' length the returned string will be clipped at the line end.
            </summary>
            <param name="pos">Start position of Substring.</param>
            <param name="len">Length of Substring.</param>
            <returns>Substring starting at pos with length len. String.Empty if pos is out of range.</returns>
        </member>
        <member name="M:ColorTextBoxControl.ILine.Equals(ColorTextBoxControl.ILine)">
            <summary>
            Overloaded equality check - this method does not test if both lines refer to the same object.
            Two lines are considered equal if they have the same type, equal length, the same number of tokens 
            and if the overloaded Equals(...) method for each token of both lines returns true.
            NOTE: This method should be overridden by each subclass to compare additional features.
            </summary>
            <param name="line">The line to check for equality.</param>
            <returns>True if the current line is equal to the line to compare to.</returns>
        </member>
        <member name="P:ColorTextBoxControl.ILine.IsValid">
            <summary>
            Returns a boolean value indicating if this is a valid line (i.e. the line contains a CRLF token at the end).
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.IsVisible">
            <summary>
            Gets or sets a value indicating if this line is currently visible.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.IsEmpty">
            <summary>
            Returns true if this line is empty, i.e. it contains only a newline token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.TokenCount">
            <summary>
            Returns the total number of tokens contained in this line (including newline tokens).
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.Length">
            <summary>
            Returns the length of this line, including new line characters.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.LastPos">
            <summary>
            Returns the last position inside a line (i.e. for valid lines the position of the CRLF
            token is returned - otherwise this property returns a value equal to Length)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.X">
            <summary>
            Gets or sets the X position of this line inside the Control
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.Y">
            <summary>
            Gets or sets the Y position of this line inside the Control
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.Width">
            <summary>
            Gets the width of this line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.ILine.Height">
            <summary>
            Gets or sets the height of this line.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.IDocument">
            <summary>
            This interface is implemented by the abstract generic base class DocumentBase and can be used as a 
            non-generic base type for methods that wish to work with different implementations of DocumentBase.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="E:ColorTextBoxControl.IDocument.UpdateEvent">
            <summary>
            An UpdateEvent is fired each time a change to the data model occurs.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IDocument.InvokeInverseOp(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            This method can be used to undo operations determined by UpdateEventArgs objects. Override if
            implementing user defined UpdateEventArgs and call this base implementation for update events that
            are not handled by the overridden implementation!
            NOTE: Undo and Redo operations should be atomic, i.e. for each operation that can be undone the 
            inverse operation should be a single operation (in the redo buffer) as well!
            </summary>
            <param name="args">UpdateEventArgs for which to fire an inverse operation.</param>
        </member>
        <member name="M:ColorTextBoxControl.IDocument.Clear">
            <summary>
            Clears all content from the current document!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.IDocument.SubString(System.Int32,System.Int32)">
            <summary>
            Returns the text of the given length starting at the given character position inside the document.
            NOTE: The returned string maybe longer than the given dist parameter depending on the platforms newline
            encoding!
            </summary>
            <param name="charPos">Start position.</param>
            <param name="dist">Distance to the given start position.</param>
            <returns>Substring between the positions defined by the parameters.</returns>
        </member>
        <member name="M:ColorTextBoxControl.IDocument.CharAt(System.Int32)">
            <summary>
            Returns the character at the given text position inside the document. If the given position is less than
            0 or larger than the documents last position the character at the first or last position respectively
            will be returned. This method treats newline strings as a single character!
            </summary>
            <param name="charPos">Text position for which to get the character.</param>
            <returns>Character at the given position.</returns>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.Text">
            <summary>
            Gets or sets the Text contained in this document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.Lines">
            <summary>
            Gets or sets the lines in this document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.FirstLine">
            <summary>
            Gets or sets the lines in the document as a reference to the first line.
            NOTE: Caller has to ensure the content of the document is valid (each line terminated with
            a newline token, ...) when setting the content
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.LastLine">
            <summary>
            Gets the last line contained in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.LineCount">
            <summary>
            Returns the total number of lines contained in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.Color">
            <summary>
            Gets or sets the currently active color to be used for insert operations.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.Length">
            <summary>
            Returns the length of the whole document including newline characters.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IDocument.LastPos">
            <summary>
            Returns the last text position inside the document
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ISelection">
            <summary>
            This interface is implemented by the generic base class Selection and can be used as a 
            non-generic base type for methods that wish to work with different instances of a Selection.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.IPosition">
            <summary>
            This interface is implemented by the generic base class Position and can be used as a 
            non-generic base type for methods that wish to work with different instances of a Position.
            The interface declares only public methods and properties that have non-generic parameters.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IPosition.X">
            <summary>
            Gets or sets the x coordinate of this position.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IPosition.LinePos">
            <summary>
            Gets or sets the character position inside the containing line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.IPosition.ILine">
            <summary>
            Returns the line containing this position
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.MessageEventHandler">
            <summary>
            Represents the method that is called when the ColorTextBox control wants to send messages to the GUI
            in order to inform the user about internal processes (like exceptions, ...). This delegate is primarily
            for debugging purposes when developing a new derived ColorTextBox but it can be used to send messages
            to the GUI in an application as well (such as search results, warnings, ...).
            However, note that the default implementation in the abstract base class does not send such messages at all!
            </summary>
            <param name="source">Additional data of the message event or the source of the event.</param>
            <param name="msg">Message string to send.</param>
        </member>
        <member name="T:ColorTextBoxControl.UpdateEventHandler">
            <summary>
            Represents the method that is called when a change to the documents' data occurs (like Insert, Delete, ...)
            </summary>
            <param name="source">The source that triggered the update.</param>
            <param name="args">UpdateEventArgs of the UpdateEvent.</param>
        </member>
        <member name="T:ColorTextBoxControl.CaretEventHandler">
            <summary>
            Represents the method that is called when the caret changes (added and (re)moved)
            </summary>
            <param name="source">The source that triggered the update.</param>
            <param name="args">CaretEventArgs of the CaretEvent.</param>
        </member>
        <member name="T:ColorTextBoxControl.MessageEventArgs">
            <summary>
            Represents the EventArgs that encapsulate a message string to send to the UI.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.CaretEventArgs">
            <summary>
            Represents the EventArgs that encapsulate the position data of caret position changes
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventArgs.Type">
            <summary>
            The type of the CaretEvent that occured
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventArgs.OldPos">
            <summary>
            The old caret position before the event occured
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventArgs.NewPos">
            <summary>
            The new caret position
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.CaretEventType">
            <summary>
            Defines the type of a CaretEvent.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventType.None">
            <summary>
            Invalid (empty) caret event
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventType.Changed">
            <summary>
            The caret position has changed
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventType.Removed">
            <summary>
            The caret has been removed
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.CaretEventType.Set">
            <summary>
            The caret has been set
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.UpdateAction">
            <summary>
            This enumeration is to be used when sending UpdateEvents to the ColorTextBox to determine if an event
            should be added to the undo or redo buffer. When an update event originated from user input the 
            UpdateAction will be set to Undoable. If an action originated from an undo or redo operation the 
            UpdateAction will be set to Undo or Redo respectively.
            The NonAtomic flag indicates that an action is part of a composite operation (e.g. Replace fires both
            a delete and an insert event) and should therefore be ignored.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateAction.Undoable">
            <summary>
            The action was initiated by the user and should be added to the undo buffer.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateAction.Undo">
            <summary>
            An action from the undo buffer has been undone and should be added to the redo buffer.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateAction.Redo">
            <summary>
            An action from the redo buffer has benn redone and should be added to the undo buffer.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateAction.NonAtomic">
            <summary>
            The action is part of a compound action and should not be added to the redo or undo buffer.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.UpdateEventType">
            <summary>
            This enum can be used to determine the type of an UpdateEvent. It can be used to find out about the 
            actual type of the data stored in the Data field of an UpdateEventArg object.
            If the given UpdateEventTypes should be extended it's recommended to define a new enum containing the
            additional types and to derive a new class from UpdateEventArgs that contains a field of the newly 
            defined enum. The original Type field of UpdateEventArgs can then be set to UpdateEventType.User to 
            indicate that an event is of the derived type! (alternatively the Type field can be redefined in the
            subclass and a type check can be performed on an UpdateEventArgs object to determine the actual type!)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.None">
            <summary>
            Defines an empty UpdateEvent
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.NewDocument">
            <summary>
            Defines an UpdateEvent that occurs when the Content of the ColorTextBox is set via one of the 
            Lines, Text or FirstLine properties.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.Insert">
            <summary>
            Defines an UpdateEvent that occurs when text is inserted.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.Delete">
            <summary>
            Defines an UpdateEvent that occurs when text is deleted.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.Replace">
            <summary>
            Defines an UpdateEvent that occurs when text is replaced.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.UpdateFont">
            <summary>
            Defines an UpdateEvent that occurs when the Font property is changed.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.UpdateColor">
            <summary>
            Defines an UpdateEvent that occurs when the SelectionColor property is changed.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventType.Custom">
            <summary>
            A user defined UpdateEvent occured.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ColorTextBoxFinds">
            <summary>
            Specifies how a text search is carried out in a ColorTextBox control. 
            This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxFinds.None">
            <summary>
            Locate all instances of the search text, whether the instances found in the search are whole words or not.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxFinds.MatchCase">
            <summary>
            Locate only instances of the search text that have the exact casing.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.ColorTextBoxFinds.Reverse">
            <summary>
            The search starts at the end of the control's document and searches to the beginning of the document.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.TokenBase`1">
            <summary>
            This abstract generic class must be inherited by all concrete implementations of line tokens to be used
            by LineBase and it's derivates. A token holds a value to be displayed in a line and can be extended 
            to hold any other information to be used in a concrete text viewer / editor (such as styling
            information, fonts, ...). For the simplest concrete implementation refer to the class Token.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.NewLineToken">
            <summary>
            Constructs a Token with a value set to System.Environment.NewLine. Only tokens returned by
            this factory method should be used as end of line tokens, as their value is platform independent.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Clone">
            <summary>
            Returns a deep copy of this token (i.e. all fields of this token are cloned not including any
            references to other tokens!). The default implementation can only provide copies of the fields 
            defined in the TokenBase class! When inheriting from TokenBase this method should be overridden
            to return a token constructed via a call to this base implementation (and cast to the type of
            the derived class) extended with copies of additional fields defined in the derived class.
            </summary>
            <returns>A deep copy of this Token.</returns>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Insert(System.Char,System.Int32)">
            <summary>
            Inserts the given character at the given index of the token. If index is less than 0 or bigger 
            than Length the character will be inserted at the beginning respectively at the end of the token.
            </summary>
            <param name="c">Character to insert.</param>
            <param name="index">Position at which to insert.</param>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Insert(System.String,System.Int32)">
            <summary>
            Inserts the given string at the given index of the token. If index is less than 0 or bigger 
            than Length the string will be inserted at the beginning respectively at the end of the token.
            </summary>
            <param name="s">Unicode string to insert.</param>
            <param name="index">Position at which to insert.</param>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Delete(System.Int32,System.Int32)">
            <summary>
            Removes the characters from the given start position up to the given length or the end of the
            token, whichever comes first.
            </summary>
            <param name="pos">Position at which to start removing.</param>
            <param name="len">Number of characters to remove.</param>
            <returns>Number of deleted characters.</returns>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.ToString">
            <summary>
            Overridden ToString() method which returns the Value property - used for debugging purposes
            </summary>
            <returns>The value of this token.</returns>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Equals(ColorTextBoxControl.IToken)">
            <summary>
            Overloaded equality check - this method does not test if both tokens refer to the same object.
            Two tokens are considered equal if they have the same type, the same value and the same color.
            NOTE: This method should be overridden by each subclass to compare additional features.
            </summary>
            <param name="t">The token to check for equality.</param>
            <returns>True if the current token is equal to the token to compare to.</returns>
        </member>
        <member name="M:ColorTextBoxControl.TokenBase`1.Split(System.Int32)">
            <summary>
            Splits this token at the given position. The first of the two resulting tokens is the original
            token with its value clipped at the split position (but all references are kept!). 
            The second token will be a clone of the original token with its value set to the remaining part
            of the original value and with all references set accordingly. This method will never produce
            empty tokens (with Value == String.Empty), i.e. pos must be larger than 0 and smaller than Length 
            in order to succeed!
            NOTE: Attributes used for rendering (width, height) have to be recalculated after splitting to 
            reflect the changes!
            </summary>
            <param name="pos">Position inside the token at which to split. If pos is outside the tokens range 
            no modifications will be made!</param>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Value">
            <summary>
            Gets or sets the value of this token.
            NOTE: Setting the value of a token directly will not trigger any update events nor will it set the
            Modified property of the containing line to true!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Item(System.Int32)">
            <summary>
            Indexer for array-like access to the token value. Throws an IndexOutOfRangeException if the
            given index is out of range.
            </summary>
            <param name="index">Index of the character to set or get.</param>
            <returns>Character at the given index.</returns>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Length">
            <summary>
            Returns the length of this LineToken's value.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Next">
            <summary>
            Gets or sets the next LineToken.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Prev">
            <summary>
            Gets or sets the previous LineToken.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.IsNewLineToken">
            <summary>
            Returns true if this token is an end of line token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Color">
            <summary>
            Gets or sets the color of this token.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Width">
            <summary>
            Gets or sets the rendering width of the current token - to be used by the rendering control.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.TokenBase`1.Height">
            <summary>
            Gets or sets the height of the current token - to be used by the rendering control.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.LineBase`2">
            <summary>
            The abstract generic collection LineBase represents a line of text to be displayed in a text editor.
            A line consists of double linked TToken tokens (TToken has to be a concrete implementation of
            the abstract generic class TokenBase) which store the text value and optionally additional attributes for 
            rendering. A whole document can be represented as a double linked list of Line collections.
            For the simplest concrete implementation of LineBase refer to the class Line.
            </summary>
            <typeparam name="TToken">Concrete implementation of type TokenBase.</typeparam>
            <typeparam name="TLine">Concrete implementation of type LineBase.</typeparam>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.#ctor">
            <summary>
            Default Constructor: constructs an empty line.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.#ctor(`1)">
            <summary>
            Constructs a line with the given token as the first token of the line.
            If there is no CRLF-token contained in the passed token-list the line will be invalid!
            If there are multiple CRLF-tokens contained the token-list will be clipped at the first
            occurence of a CRLF-token!
            </summary>
            <param name="head">A token(list) representing the content of the line.</param>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.makeNewLine(`1)">
            <summary>
            Constructs a new line from the given piece list - list is clipped on first occurence of
            a new line token. If a null reference is passed this method constructs an invalid empty line.
            </summary>
            <param name="head">Token list for the new line</param>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.removeContainedToken(`1)">
            <summary>
            Removes the given piece from the line - NOTE: piece has to be contained in line!
            </summary>
            <param name="p">Piece to remove.</param>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.clipTokenList(`1)">
            <summary>
            Helper method that ensures that a token list does not contain multiple CRLF tokens. Checks if the
            passed token list contains a CRLF token and removes all tokens that maybe contained afterwards.
            Furthermore any tokens that maybe contained before the passed token list start will be removed.
            Returns a reference to the last token of the list.
            </summary>
            <param name="t">Token list to check.</param>
            <returns>Reference to the last token inside the list.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.resetLineTail">
            <summary>
            This helper method can be used to reset the tail pointer of a line which may be necessary when 
            inserting at the end of the line or when splitting tokens.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.normalize">
            <summary>
            Normalizes the line by removing all empty tokens (i.e. tokens with their value set to String.Empty).
            Calling this method may require all line properties to be recalculated
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Split(System.Int32)">
            <summary>
            Splits the line at the given position resulting in two connected lines with the first one always 
            being invalid! (i.e. there will be no CRLF token at the end of the line!).
            If the position lies outside the lines range the method will split the line at position 0 or
            at the end respectively. A valid line which should be split at the end will always be split before 
            the CRLF token.
            </summary>
            <param name="pos">Position at which to split the line.</param>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.AddNext">
            <summary>
            Concatenates the content of the next line to the line and removes the next line. This method can only
            succeed if the line is invalid.
            </summary>
            <returns>True on success. False if next line is empty or if the line is already valid.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.ToString">
            <summary>
            This method concatenates the values of all contained pieces to one string which is returned.
            </summary>
            <returns>String representation of this line</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.CharAt(System.Int32)">
            <summary>
            Returns the character at the given position. If there is no character at the given position the 
            method returns the constant value Char.MaxValue (which corresponds to the Unicode point 0xFFFF,
            which is guarenteed not to refer to an actual character value!) - this is only the case for the last
            position of a file, i.e. Char.MaxValue represents the end of file!
            </summary>
            <param name="pos">Position of character to return.</param>
            <returns>Character at given position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.SubString(System.Int32,System.Int32)">
            <summary>
            Get the Substring of the given length starting at the given position of the line. If len exceeds
            the lines' length the returned string will be clipped at the line end.
            </summary>
            <param name="pos">Start position of Substring.</param>
            <param name="len">Length of Substring.</param>
            <returns>Substring starting at pos with length len. String.Empty if pos is out of range.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.SubTokens(System.Int32,System.Int32)">
            <summary>
            Gets the Substring of the given length starting at the given position of the line encapsulated 
            inside a token list. The returned token list contains deep copies (via Clone()) of the original 
            tokens. If the start or end positions of the desired substring lie inside a token, the token
            value will be clipped accordingly.
            </summary>
            <param name="pos">Start position of token list.</param>
            <param name="len">Length of the substring to return.</param>
            <returns>The substring defined by the passed parameter encapsulated inside a token list.
            Null if pos is out of range.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Append(`1)">
            <summary>
            Appends the given token (list) to the end of the line. All tokens of the passed list are appended
            until a CRLF token is encountered or there are no more tokens to append.
            When the line was valid before and the passed token list contains a CRLF token a new line containing
            only a CRLF token will be inserted after the current line.
            NOTE: Appending a token directly does not trigger an update event and therefore the changes will not
            be visible in the editor!
            </summary>
            <param name="t">Token to add at the end of the line.</param>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Insert(`1,System.Int32)">
            <summary>
            Inserts the given token list at the given character position of the line. If the insertion point lies
            between two tokens the token list will be inserted in between, but if the insertion point lies 
            inside a token this token will be split into two tokens and the given token list will be inserted 
            in between.
            If the token list contains a CRLF token the list will be clipped after it and the line will be split
            so that the new line contains the remaining line tokens after the insertion point.
            If the insertion point is less than 0 or bigger than Length the token will be added at the 
            beginning or end respectively.
            </summary>
            <param name="t">Token list to insert.</param>
            <param name="pos">Insertion position.</param>
            <returns>True on success. False on any error</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Remove(`1)">
            <summary>
            Remove the given token from the line. Returns true on success or false if the passed
            token is not contained!
            </summary>
            <param name="t">Token to remove from the line</param>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.SetColor(System.Int32,System.Int32,System.Drawing.Color)">
            <summary>
            Sets the color of the text in this line starting at the given position up to the given length.
            If the start and / or end position lies inside an existing token, the respective token will be
            split and the color will be set accordingly.
            </summary>
            <param name="pos">Start position inside the line.</param>
            <param name="len">Length of the text.</param>
            <param name="col">Color to set.</param>
            <returns>True on success. False if len is less than 0.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.TokenAt(System.Int32,System.Int32@)">
            <summary>
            Returns the token at the specified position of the line or null if the token doesn't exist. 
            If the passed character position is less than 0 the first token of the line is returned, but
            passing a position bigger than line.Length will always return null!
            </summary>
            <param name="i">Character position to search for.</param>
            <param name="startPos">Start position of the returned token inside the line.</param>
            <returns>The Token at the given position or null if it doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.RemoveAt(System.Int32)">
            <summary>
            Removes the token at the specified index of the line and returns it without any references
            to the previous or next token it had in the line! Returns null if this token doesn't exist!
            </summary>
            <param name="i">Index of the token to remove</param>
            <returns>The removed token with Next and Prev set to null. Null if token doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Dispose">
            <summary>
            "Disposes" a line by setting all references to null and all properties and fields to the
            default values. To be called when a line is deleted from a document.
            NOTE: Current implementation relies on coordinates of disposed lines - must not be reset!!!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Equals(ColorTextBoxControl.ILine)">
            <summary>
            Overloaded equality check - this method does not test if both lines refer to the same object.
            Two lines are considered equal if they have the same type, equal length, the same number of tokens 
            and if the overloaded Equals(...) method for each token of both lines returns true.
            NOTE: This method should be overridden by each subclass to compare additional features.
            </summary>
            <param name="line">The line to check for equality.</param>
            <returns>True if the current line is equal to the line to compare to.</returns>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Next">
            <summary>
            Gets or sets the next line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Prev">
            <summary>
            Gets or sets the previous line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.First">
            <summary>
            Gets or sets the Token-List of this line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Last">
            <summary>
            Gets the last token of a line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.IsValid">
            <summary>
            Returns a boolean value indicating if this is a valid line (i.e. the line contains a CRLF token at the end).
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.IsVisible">
            <summary>
            Gets or sets a value indicating if this line is currently visible.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.IsSelected">
            <summary>
            Gets or sets a value indicating if this line is currently (partly) selected.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.IsEmpty">
            <summary>
            Returns true if this line is empty, i.e. it contains only a newline token.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Insert(System.Char,System.Int32,System.Drawing.Color)">
            <summary>
            Inserts the given character at the given position of the line. Characters with pos less than 0 
            or pos bigger than Length are inserted at the beginning or the end of the line.
            The default implementation of Insert(...) always adds the given character to the token at the
            insertion position. If pos is at the end of the line the given character will be appended to the
            last non-newline token of the line. (if it doesn't exist it will be created)
            </summary>
            <param name="c">Character to insert.</param>
            <param name="pos">Position at which to insert.</param>
            <param name="col">Color of character to insert.</param>
            <returns>The token the character has been added to.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Insert(System.String,System.Int32,System.Drawing.Color)">
            <summary>
            Inserts the given String at the given position of the line. Strings with pos less than 0 
            or pos bigger than Length are inserted at the beginning or the end of the line.
            The default implementation of Insert always adds the given String to the token at the
            insertion position if the provided color and the color at the given position match - otherwise
            a new token with the given color will be added.
            NOTE: This implementation must not be used for inserting strings which contain newline characters 
            (such as '\r', '\n', ...)! For performance reasons the passed string will not be checked if it
            contains any of these and therefore it is possible to insert multiple newline characters which will
            lead to unpredictable results!
            </summary>
            <param name="s">String to insert.</param>
            <param name="pos">Position at which to insert.</param>
            <param name="col">Color of string to insert.</param>
            <returns>The token the String has been added to.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Delete(System.Int32,System.Int32)">
            <summary>
            Deletes the characters from the given position up to the given length or the end of the line,
            which ever comes first. This method does not delete accross multiple lines!
            </summary>
            <param name="pos">Start position of deletion.</param>
            <param name="len">Number of characters to delete.</param>
            <returns>Number of deleted characters. (Returns 0 if pos is out of bounds)</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.Flatten">
            <summary>
            "Flattens" the line by concatenating all adjacent tokens that have the same color. Override this 
            method to implement a different behaviour. Calling this method requires all line properties to be
            recalculated prior to rendering!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.op_LessThan(ColorTextBoxControl.LineBase{`0,`1},ColorTextBoxControl.LineBase{`0,`1})">
            <summary>
            Returns true if line l1 is contained before line l2.
            </summary>
            <param name="l1">Line to compare.</param>
            <param name="l2">Line to compare to.</param>
            <returns>True if line l1 is contained before l2. False otherwise.</returns>
        </member>
        <member name="M:ColorTextBoxControl.LineBase`2.op_GreaterThan(ColorTextBoxControl.LineBase{`0,`1},ColorTextBoxControl.LineBase{`0,`1})">
            <summary>
            Returns true if the line l1 is contained after line l2.
            </summary>
            <param name="l1">Line to compare.</param>
            <param name="l2">Line to compare to.</param>
            <returns>True if line l1 is contained after l2. False otherwise.</returns>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Modified">
            <summary>
            This property is set to true whenever the data of a line is changed and can be used by the 
            ColorTextBox to determine when line metrics have to be recalculated.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Disposed">
            <summary>
            Indicates if Dispose() has been called on the given line. For every line that has been deleted
            from a document this property will return true and the line should not be used anymore!
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.TokenCount">
            <summary>
            Returns the total number of tokens contained in this line (including newline tokens).
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Length">
            <summary>
            Returns the length of this line, including new line characters.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.LastPos">
            <summary>
            Returns the last position inside a line (i.e. for valid lines the position of the CRLF
            token is returned - otherwise this property returns a value equal to Length)
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.X">
            <summary>
            Gets or sets the X position of this line inside the Control
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Y">
            <summary>
            Gets or sets the Y position of this line inside the Control
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Width">
            <summary>
            Gets the width of this line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.LineBase`2.Height">
            <summary>
            Gets or sets the height of this line.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.UpdateEventArgs">
            <summary>
            The class UpdateEventArgs encapsulates changes to the underlying data model (e.g. delete, insert, ...).
            UpdateEventArgs are sent to registered views via an UpdateEventHandler delegate (in the DocumentBase
            class) and are used to update the data view in a ColorTextBox as well as for undo / redo operations.
            Note that the Data field will only contain the changed lines when Action isn't set to UpdateAction.Ignore.
            This is because this data should be only used for undo / redo operations.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.Type">
            <summary>
            Type of this UpdateEvent.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.FromLine">
            <summary>
            Start line index of update event (needed for undo and redo operations)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.ToLine">
            <summary>
            End line index of update event. (needed for undo and redo operations)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.Lines">
            <summary>
            Number of affected lines.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.Data">
            <summary>
            Contains the old value for Update events (old size, old style, ...). For Insert events this field 
            contains the inserted text and for Delete events the deleted text.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.Action">
            <summary>
            Flag indicating if an UpdateEvent should be added to the redo or the undo buffer or to none of both.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.Repaint">
            <summary>
            Flag indicating if an UpdateEvent should trigger a repaint of the changed area. Note that changes to
            the data are always rendered to the offscreen buffer - this flag only indicates if the changes should
            be rendered to the screen as well by invalidating and updating the affected area.
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.From">
            <summary>
            This position is equal to the position defined by FromLine and FromPos - the UpdateEvent includes this
            reference as well for performance reasons (otherwise the GUI would need to get the line via the index!)
            </summary>
        </member>
        <member name="F:ColorTextBoxControl.UpdateEventArgs.To">
            <summary>
            This position is equal to the position defined by ToLine and ToPos - the UpdateEvent includes this
            reference as well for performance reasons (otherwise the GUI would need to get the line via the index!)
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.UpdateEventArgs.#ctor">
            <summary>
            Default constructor for an invalid UpdateEvent.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.UpdateEventArgs.#ctor(ColorTextBoxControl.UpdateEventType,ColorTextBoxControl.IPosition,ColorTextBoxControl.IPosition,System.Int32,System.Int32,System.Int32,System.Object,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Constructor for setting all UpdateEventArgs fields.
            </summary>
            <param name="type">Type of the UpdateEvent.</param>
            <param name="from">Start position reference of the update event.</param>
            <param name="to">End position reference of the update event.</param>
            <param name="fromL">Start line index of the update event.</param>
            <param name="toL">End line index of update event.</param>
            <param name="lines">Number of affected lines.</param>
            <param name="data">Old value for Update events, or null.</param>
            <param name="action">Action to perform for the UpdateEvent.</param>
            <param name="repaint">Indicates if changes should be painted to the screen.</param>
        </member>
        <member name="E:ColorTextBoxControl.DocumentBase`2.UpdateEvent">
            <summary>
            An UpdateEvent is fired each time a change to the data model occurs.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.#ctor">
            <summary>
            Default Constructor: constructs an empty document.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.InvokeInverseOp(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            This method can be used to undo operations determined by UpdateEventArgs objects. Override if
            implementing user defined UpdateEventArgs and call this base implementation for update events that
            are not handled by the overridden implementation!
            NOTE: Undo and Redo operations should be atomic, i.e. for each operation that can be undone the 
            inverse operation should be a single operation (in the redo buffer) as well!
            </summary>
            <param name="args">UpdateEventArgs for which to fire an inverse operation.</param>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Insert(System.String,`0,System.Int32,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Inserts the given text into the passed line at the given position. This method adds a new line for
            each CRLF encountered in the passed String. If the length of the String to insert is bigger than 1 
            the default implementation adds the given text as a new token at the specified position of the line
            - more tokens are only added when one of the defined newline strings is encountered in the given text.
            Strings that contain only a single character are added to the token at the current position.
            If the currently active document color and the color at the insertion point differ there will always 
            be a new token inserted with the color set to the currently active color!
            Newline strings include '\f', '\r', '\n' and "\r\n" and are converted to the platform independent
            value System.Environment.Newline when inserted.
            All other unicode characters are inserted unchanged!
            </summary>
            <param name="text">Text to insert into the given line.</param>
            <param name="atL">The line to insert into - must be contained in document.</param>
            <param name="linePos">Position inside the line.</param>
            <param name="action">Indicates if operation should be added to Undo buffer.</param>
            <param name="repaint">Indicates if insertion should lead to a redraw of the affected area.</param>
            <returns>The number of inserted characters (linefeeds count as one character)</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Insert(`0,`0,System.Int32,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Inserts the line list insertL into the given line at the given position. If any of the lines
            contains multiple CRLF tokens the token list will be clipped at the first occurence of a CRLF token.
            Furthermore this implementation does currently not check if each token list of a line is terminated
            by a CRLF token (which may result in the insertion of invalid lines!)
            </summary>
            <param name="insertL">Line list to insert.</param>
            <param name="atL">Line to insert into.</param>
            <param name="linePos">Position inside the line.</param>
            <param name="action">Indicates if operation should be added to Undo buffer.</param>
            <param name="repaint">Indicates if insertion should lead to a redraw of the affected area.</param>
            <returns>The number of inserted characters (linefeeds count as one character)</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Insert(`1,`0,System.Int32,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Inserts the token list into the given line at the given position. If the passed token list contains
            multiple CRLF tokens the list will be clipped at the first occurence of a CRLF token!
            </summary>
            <param name="insertT">Token list to insert.</param>
            <param name="atL">Line to insert into.</param>
            <param name="linePos">Position inside the line.</param>
            <param name="action">Indicates if operation should be added to Undo buffer.</param>
            <param name="repaint">Indicates if insertion should lead to a redraw of the affected area.</param>
            <returns>The number of inserted characters (linefeeds count as one character)</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Replace(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1},System.String,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Replaces the text between the given positions with the passed text by calling the appropriate
            Delete and Insert methods.
            </summary>
            <param name="fromPos">Start position of text to replace.</param>
            <param name="toPos">End position of text to replace.</param>
            <param name="text">Text to insert instead of current text.</param>
            <param name="action">Indicates if operation should be added to undo / redo buffer.</param>
            <param name="repaint">Indicates if replacing should redraw the affected area.</param>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Replace(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1},`0,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Replaces the text between the given positions with the passed text by calling the appropriate
            Delete and Insert methods.
            </summary>
            <param name="fromPos">Start position of text to replace.</param>
            <param name="toPos">End position of text to replace.</param>
            <param name="insertL">Lines to insert instead of current text.</param>
            <param name="action">Indicates if operation should be added to undo / redo buffer.</param>
            <param name="repaint">Indicates if replacing should redraw the affected area.</param>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Replace(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1},`1,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Replaces the text between the given positions with the passed text by calling the appropriate
            Delete and Insert methods.
            </summary>
            <param name="fromPos">Start position of text to replace.</param>
            <param name="toPos">End position of text to replace.</param>
            <param name="insertT">Tokens to insert instead of current text.</param>
            <param name="action">Indicates if operation should be added to undo / redo buffer.</param>
            <param name="repaint">Indicates if replacing should redraw the affected area.</param>
            <returns>True on success.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Clear">
            <summary>
            Clears all content from the current document!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Delete(`0,System.Int32,System.Int32,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Deletes the given amount of characters starting at the given line and position.
            </summary>
            <param name="line">Line at which to start deletion.</param>
            <param name="linePos">Position inside line.</param>
            <param name="length">Number of characters to delete</param>
            <param name="action">Indicates if operation should be added to Undo buffer.</param>
            <param name="repaint">Indicates if deletion should lead to a redraw of the affected area.</param>
            <returns>The number of deleted characters.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Delete(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Deletes the content between the two given positions. This implementation should be significantly 
            faster than the Delete(TLine line, int linePos, int length, bool undo) - method (especially for 
            deleting across multiple lines!) and thus should be used whenever possible!
            </summary>
            <param name="fromPos">Start position.</param>
            <param name="toPos">End position.</param>
            <param name="action">Indicates if operation should be added to Undo buffer.</param>
            <param name="repaint">Indicates if deletion should lead to a redraw of the affected area.</param>
            <returns>Returns the number of deleted characters.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SetColor(System.Drawing.Color,`0,System.Int32,System.Int32,ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Sets the color of the text starting at the given line and position up to the given length to
            the supplied new color. The default implementation does not support undoing color changes!
            </summary>
            <param name="col">The new color to set.</param>
            <param name="line">Start line of the color change.</param>
            <param name="linePos">Start position of the color change.</param>
            <param name="length">Length of text for which to set the new color.</param>
            <param name="action">Indicates if color change event should be added to Undo buffer (the default
            implementation ignores this flag!)</param>
            <param name="repaint">Indicates if color change should trigger a redraw of the affected area.</param>
            <returns>True on success. False if the color could not be changed.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SetColor(System.Drawing.Color,ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.UpdateAction,System.Boolean)">
            <summary>
            Sets the color of the text between the given positions to the supplied new color.
            The default implementation does not support undoing color changes!
            </summary>
            <param name="col">The new color to set.</param>
            <param name="fromPos">Start position.</param>
            <param name="toPos">End position.</param>
            <param name="action">Indicates if color change event should be added to Undo buffer (the default
            implementation ignores this flag!)</param>
            <param name="repaint">Indicates if color change should trigger a redraw of the affected area.</param>
            <returns>True on success. False if the color could not be changed.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SubString(System.Int32,System.Int32)">
            <summary>
            Returns the text of the given length starting at the given character position inside the document.
            NOTE: The returned string maybe longer than the given dist parameter depending on the platforms newline
            encoding!
            </summary>
            <param name="charPos">Start position.</param>
            <param name="dist">Distance to the given start position.</param>
            <returns>Substring between the positions defined by the parameters.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SubString(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns the text inside the document contained between the two given positions.
            </summary>
            <param name="fromPos">Start position.</param>
            <param name="toPos">End position.</param>
            <returns>Text between fromPos and toPos.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SubLines(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns the text inside the document contained between the two given positions encapsulated in
            a list of lines. The returned lines are deep copies of the original lines and tokens constructed 
            via calls to the SubTokens() methods of the respective lines.
            </summary>
            <param name="fromPos">Start position.</param>
            <param name="toPos">End position.</param>
            <returns>Text between fromPos and toPos encapsulated in a list of lines. Null if any of the passed
            parameters is null.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SubTokens(`0,System.Int32,System.Int32)">
            <summary>
            Returns the substring of length len starting at pos inside the given line as a list of tokens. 
            The returned token list is a deep copy of the original tokens contained in the line.
            If the requested text does not exist (pos less than 0 or line is empty) the method returns null.
            </summary>
            <param name="line">Line containing the requested text.</param>
            <param name="pos">Start position inside the line.</param>
            <param name="len">Length of the text to return.</param>
            <returns>A token list containing the requested substring. Null if pos less than 0 or line is empty.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.DistanceBetween(`0,`0)">
            <summary>
            Calculates the distance between the two given lines inside the document. On success this method
            always returns a positive integer. If either of the two lines is not contained the method returns -1.
            This method calculates the distance by starting at Line l1 and searching forward to Line l2. If l2
            is not found after l1 a second loop will search backwards for l2 - therefore for maximum performance
            the caller should make sure that l1 is contained before l2!
            </summary>
            <param name="l1">First line.</param>
            <param name="l2">Second line.</param>
            <returns>Distance between l1 and l2 or -1 if either of the two lines is not contained!</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.IndexOf(`0)">
            <summary>
            Returns the index of the given line inside the current document. If the line is not contained this
            method returns -1.
            </summary>
            <param name="line">Line for which to get the index.</param>
            <returns>Index of the given line or -1 if it's not contained.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.IndexRelativeTo(`0,System.Int32,`0,System.Boolean)">
            <summary>
            This helper method can be used to determine the index of a line relative to the index of a known start
            line. This method exists for performance reasons only when the index of multiple lines is required and
            their relative position is known.
            </summary>
            <param name="start">Start line for which the index is known.</param>
            <param name="startInd">Index of the given start line.</param>
            <param name="line">Line contained before or after the given start line.</param>
            <param name="forward">Direction parameter - True means that the given line is contained after the
            start line - False searches in the opposite direction.</param>
            <returns>Index of the given line relative to the start line or -1 if the line is not found.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.LineRelativeTo(`0,System.Int32,System.Int32)">
            <summary>
            This method can be used to retrieve a line by index relative to a given line whose index is known.
            NOTE: Line indices start at index 1 not 0!
            </summary>
            <param name="start">Start line at the given start index.</param>
            <param name="startInd">Index of the given start line.</param>
            <param name="newInd">Index of the line to retrieve.</param>
            <returns>The line at index newInd or null if such a line doesn't exist.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.ColorAt(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns the color of the character before the given position or the color of the character at 
            the given position if pos is the first position of the document. If the document contains no 
            characters at all the method returns the currently set default color.
            </summary>
            <param name="pos">Position for which to get the color.</param>
            <returns>Color of the char at the previous position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.ColorAt(`0,System.Int32)">
            <summary>
            Returns the color of the character before the given position or the color of the character at 
            the given position if pos is the first position of the document. If the document contains no 
            characters at all the method returns the currently set default color.
            </summary>
            <param name="line">Line for which to get the color.</param>
            <param name="pos">Position inside line for which to get the color.</param>
            <returns>Color at given position or Color.Empty if there is no text at the given position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.CharAt(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns the character at the given position inside the document. Returns Char.MaxValue if there is no
            character at the given position (corresponds to EOF) or if the position is not contained!
            </summary>
            <param name="pos">Position for which to get the character.</param>
            <returns>Character at the given position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.CharAt(System.Int32)">
            <summary>
            Returns the character at the given text position inside the document. If the given position is less than
            0 or larger than the documents last position the character at the first or last position respectively
            will be returned. This method treats newline strings as a single character!
            </summary>
            <param name="charPos">Text position for which to get the character.</param>
            <returns>Character at the given position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.GetCharPosition(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns the character position of the given position inside the document. This method treats newline
            strings as a single character independent of the actual length.
            </summary>
            <param name="pos">Position for which to return the character position.</param>
            <returns>The char position inside the document or -1 if the position is not contained.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.GetPosition(System.Int32)">
            <summary>
            Returns a position object for the given character position inside the document. If the passed char
            position is less than 0 or larger then the documents last position the first or last position is returned
            respectively. This method treats newline strings as a single character independent of the actual 
            length. 
            </summary>
            <param name="charPos">Character position inside the document.</param>
            <returns>A position object for the given character position.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.GetRelativePos(`0,System.Int32,System.Int32)">
            <summary>
            Returns the Position inside the document that comes the given amount of characters after the 
            start position defined by the passed line and line position. If the passed distance is negative or 0 
            the start position will be returned.
            If the distance to the start position lies outside the documents' scope the last position inside the 
            document will be returned! This method always treats newline tokens as a single character.
            </summary>
            <param name="line">Line containing the start position.</param>
            <param name="linePos">Start position relative to the line start.</param>
            <param name="dist">Positive distance to the given position.</param>
            <returns>Position object for the position that comes dist characters after the start position or 
            null if the passed start line is null or the passed line position is not contained in the start line.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Find(System.Char[],ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Searches for any character in the given array of characters beginning at the given position and returns
            the first position containing any of the characters.
            </summary>
            <param name="chars">Array of characters to search for.</param>
            <param name="startPos">Position at which to begin search.</param>
            <returns>The first position containing any of the characters in the array.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Find(System.String,ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.ColorTextBoxFinds)">
            <summary>
            Searches for the given string inside the document starting at the given position and taking into 
            account the options set in the ColorTextBoxFinds parameter.
            </summary>
            <param name="str">String to search for.</param>
            <param name="startPos">Position at which to start search.</param>
            <param name="finds">ColorTextBoxFinds to apply.</param>
            <returns>The start position of the first occurence of the given string or null if it isn't found.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.Dispose">
            <summary>
            "Disposes" a document by calling Dispose() on all contained lines and removing any registered
            UpdateEventListeners!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.notifyNewDocument">
            <summary>
            This helper method is used for sending an UpdateEvent to the text box when the 
            content of the document is initialized through one of the Text, Lines or First
            properties.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.OnUpdateEvent(ColorTextBoxControl.UpdateEventArgs)">
            <summary>
            Raises the UpdateEvent that occurs when changes to the documents data are being made.
            Note that the data object that is contained in the UpdateEventArgs object will only contain data when the
            UpdateAction is not set to ignore!
            </summary>
            <param name="args">UpdateEventArgs of the event.</param>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.changeCasing(System.String)">
            <summary>
            Changes the character casing of the provided string according to the CharacterCasing 
            property value and returns the converted string.
            </summary>
            <param name="text">String to convert.</param>
            <returns>The provided text string converted to upper- or lowercase.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.changeCasing(`0)">
            <summary>
            Changes the character casing of the provided line (list) according to the CharacterCasing 
            property value.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.changeCasing(`1)">
            <summary>
            Changes the character casing of the provided token according to the CharacterCasing 
            property value.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.tokenizeString(System.String)">
            <summary>
            Helper method to produce tokens from a given string. The default implementation splits the passed
            String at all occurences of CRLF and produces tokens for all Substrings (including Newline - Tokens)
            with the color set to the currently active document color!
            Furthermore all occurences of "\r", "\r\n", "\n" and "\f" are converted to tokens with the platform
            independent value System.Environment.Newline. 
            Example:
            text = "a sample \ntext\racross multiple\flines"
            returns a list of tokens with values: {"a sample ", System.Environment.Newline, "text",
            System.Environment.Newline, "across multiple", System.Environment.Newline, "lines"}
            </summary>
            <param name="text">Text string to tokenize.</param>
            <returns>An ArrayList of TTokens.</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.SplitString(System.String,System.Char[])">
            <summary>
            Splits the passed String text at occurences of the passed splitChar char[] and adds all Substrings
            to an Array (including Strings for characters defined in splitChar!) which is returned. Example:
            text = "a two-line string\ndelimited by spaces "
            splitChars = {'\n', ' '}
            returns the array: {"a", " ", "two-line", "string", "\n", "delimited", " ", "by", "spaces", " "}
            </summary>
            <param name="text">String to split.</param>
            <param name="splitChars">Split characters to use.</param>
            <returns>A String array containing the split String including Strings for characters in splitChars!</returns>
        </member>
        <member name="M:ColorTextBoxControl.DocumentBase`2.switchPositions(ColorTextBoxControl.Position{`0,`1}@,ColorTextBoxControl.Position{`0,`1}@)">
            <summary>
            Helper method that simply switches the references to the given positions - can be used to switch 
            positions if they are passed in the wrong order.
            </summary>
            <param name="first">Reference to first position.</param>
            <param name="second">Reference to second position.</param>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Text">
            <summary>
            Gets or sets the Text contained in this document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Lines">
            <summary>
            Gets or sets the lines in this document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.First">
            <summary>
            Gets or sets the first line in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.CharacterCasing">
            <summary>
            Determines if inserted characters should be left alone or converted to uppercase or lowercase.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.FirstLine">
            <summary>
            Gets or sets the lines in the document as a reference to the first line.
            NOTE: Caller has to ensure the content of the document is valid (each line terminated with
            a newline token, ...) when setting the content
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Last">
            <summary>
            Returns the last line in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.LastLine">
            <summary>
            Gets the last line contained in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.LineCount">
            <summary>
            Returns the total number of lines contained in the document.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Color">
            <summary>
            Gets or sets the currently active color to be used for insert operations.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Length">
            <summary>
            Returns the length of the whole document including newline characters.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.LastPos">
            <summary>
            Returns the last text position inside the document
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.DocumentBase`2.Item(System.Int32)">
            <summary>
            Read-only indexer for array-like access to the stored lines. Throws an IndexOutOfRangeException 
            if the given index is out of range. NOTE: Line indices start at index 1 not 0!
            </summary>
            <param name="index">Index of the line to set or get.</param>
            <returns>Line at the given index.</returns>
        </member>
        <member name="F:ColorTextBoxControl.Position`2.LineNumber">
            <summary>
            Can be used to store the line number of the line that contains the position. This field is intended to be
            used for storing the caret line number only!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.Position`2.Equals(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns true if two positions are equal (i.e. they are in the same line at the same position).
            </summary>
            <param name="pos">Position to compare to.</param>
            <returns>True if this position is equal to pos.</returns>
        </member>
        <member name="M:ColorTextBoxControl.Position`2.DistanceTo(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Calculates the distance between two positions and returns it as a positive integer (no matter which
            position comes first). If one position is null or if the line corresponding to one of the positions
            is null the method returns -1. The method treats newline chars as a single character!
            </summary>
            <param name="pos">The position to calculate the distance to.</param>
            <returns>The distance between two positions.</returns>
        </member>
        <member name="M:ColorTextBoxControl.Position`2.op_LessThan(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns true if position p1 lies before position p2.
            </summary>
            <param name="p1">Position to compare.</param>
            <param name="p2">Position to compare to.</param>
            <returns>True if position p1 is contained before p2. False otherwise.</returns>
        </member>
        <member name="M:ColorTextBoxControl.Position`2.op_GreaterThan(ColorTextBoxControl.Position{`0,`1},ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Returns true if position p1 lies after position p2.
            </summary>
            <param name="p1">Position to compare.</param>
            <param name="p2">Position to compare to.</param>
            <returns>True if position p1 is contained after p2. False otherwise.</returns>
        </member>
        <member name="P:ColorTextBoxControl.Position`2.X">
            <summary>
            Gets or sets the x coordinate of this position.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Position`2.Line">
            <summary>
            Gets or sets the line containing this position.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Position`2.ILine">
            <summary>
            Gets the ILine containing this position.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Position`2.LinePos">
            <summary>
            Gets or sets the character position inside the containing line.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Position`2.IsValid">
            <summary>
            This flag indicates if a position is valid, i.e. it's coordinates are properly calculated to 
            reflect the actual char position inside a line
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.Contains(ColorTextBoxControl.Position{`0,`1})">
            <summary>
            Checks if the given position is contained in the current selection.
            </summary>
            <param name="pos">Position to check.</param>
            <returns>True if pos lies inside the selection, false otherwise.</returns>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.Contains(`0)">
            <summary>
            Checks if the given line or parts of it are contained in the current selection.
            </summary>
            <param name="line">Line to check.</param>
            <returns>True if parts of the line are contained in the selection, false otherwise.</returns>
        </member>
        <member name="P:ColorTextBoxControl.Selection`2.From">
            <summary>
            Gets or sets the start position of this selection.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Selection`2.To">
            <summary>
            Gets or sets the end position of this selection.
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.ToString">
            <summary>
            Returns the content of a selection as a String.
            </summary>
            <returns>The text contained in the selection or String.Empty for invalid selections.</returns>
        </member>
        <member name="P:ColorTextBoxControl.Selection`2.HasValidPositions">
            <summary>
            This property returns true if the current selection has theoretically valid values for the From and
            To positions that represent the selection. It does not check if the From.Line comes before To.Line
            nor does it check if the from and to lines are connected at all!
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.Equals(System.Object)">
            <summary>
            Overridden equality check - this method checks if the passed object is a Selection of the same
            type as the current and if so calls the overloaded implementation. Otherwise the base implementation
            of Equals is being called.
            </summary>
            <param name="obj">The object to check for equality.</param>
            <returns>True if the current object is equal to the passed object.</returns>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.GetHashCode">
            <summary>
            Serves as a hash function for the Selection class.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ColorTextBoxControl.Selection`2.Equals(ColorTextBoxControl.Selection{`0,`1})">
            <summary>
            Overridden equality check. Checks if the passed Selection refers to the same lines and line 
            positions as the current. This method will only return true for Selections whose HasValidPositions
            property returns true as well!
            </summary>
            <param name="sel">The selection to compare to.</param>
            <returns>True if the passed object is a selection with the same start and end positions as the
            current. False otherwise or if a null reference is passed.</returns>
        </member>
        <member name="T:ColorTextBoxControl.Token">
            <summary>
            Simplest possible implementation of a Token to be used in a ColorTextBox.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.Line">
            <summary>
            Simplest possible implementation of a Line to be used in a ColorTextBox. Uses the Token implementation
            to make up the lines.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.Document">
            <summary>
            Simplest possible implementation of a Document to be used in a ColorTextBox. Uses the Line and Token
            implementations to make up the document.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.Properties.Resources">
            <summary>
              Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Properties.Resources.ResourceManager">
            <summary>
              Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
            </summary>
        </member>
        <member name="P:ColorTextBoxControl.Properties.Resources.Culture">
            <summary>
              Remplace la propriété CurrentUICulture du thread actuel pour toutes
              les recherches de ressources à l'aide de cette classe de ressource fortement typée.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.ETOOptions">
            <summary>
            Provides flags for the ExtTexOut function
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.WndMsg">
            <summary>
            This enumeration encapsulates all constant window message definitions.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.SIZE">
            <summary>
            A size structure to be used in Win32 API calls (similar to the .Net Size struct)
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.RECT">
            <summary>
            A rectangle structure to be used in Win32 API calls (similar to the .Net Rectangle struct)
            </summary>
        </member>
        <member name="M:ColorTextBoxControl.RECT.ToRectangle">
            <summary>
            Converts this RECT structure to a System.Drawing.Rectangle
            </summary>
            <returns>A Rectangle corresponding to this RECT structure.</returns>
        </member>
        <member name="T:ColorTextBoxControl.PlatformInvokeGDI32">
            <summary>
            This class acts as a wrapper for "gdi32.dll" API calls. It defines some static methods to be used from
            within the ColorTextBox control for rendering.
            </summary>
        </member>
        <member name="T:ColorTextBoxControl.PlatformInvokeUSER32">
            <summary>
            This class acts as a wrapper for "user32.dll" API calls. It defines some static methods to be used from
            within the ColorTextBox control for handling device contexts.
            </summary>
        </member>
    </members>
</doc>
